abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:55 | Komunita

    Ubuntu 26.04 LTS bude (𝕏) Resolute Raccoon (rezolutní mýval).

    Ladislav Hagara | Komentářů: 0
    včera 21:00 | Nová verze

    Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    včera 20:11 | Komunita

    Linuxová distribuce Frugalware (Wikipedie) ke konci roku 2025 oficiálně končí.

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Nová verze

    Byla vydána nová verze 3.0.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP bude brzy k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | IT novinky

    Americký výrobce čipů AMD uzavřel s americkou společností OpenAI smlouvu na několikaleté dodávky vyspělých mikročipů pro umělou inteligenci (AI). Součástí dohody je i předkupní právo OpenAI na přibližně desetiprocentní podíl v AMD.

    Ladislav Hagara | Komentářů: 1
    včera 12:22 | Nová verze Ladislav Hagara | Komentářů: 0
    5.10. 20:00 | Komunita

    Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2025.

    Ladislav Hagara | Komentářů: 0
    4.10. 15:22 | IT novinky

    Na konferenci LinuxDays 2025 byl oficiálně představen nový router Turris Omnia NG.

    Ladislav Hagara | Komentářů: 35
    4.10. 05:22 | Komunita

    Přímý přenos (YouTube) z konference LinuxDays 2025, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.

    Ladislav Hagara | Komentářů: 17
    3.10. 22:44 | IT novinky

    V únoru loňského roku Úřad pro ochranu osobních údajů pravomocně uložil společnosti Avast Software pokutu 351 mil. Kč za porušení GDPR. Městský soud v Praze tuto pokutu na úterním jednání zrušil. Potvrdil ale, že společnost Avast porušila zákon, když skrze svůj zdarma dostupný antivirový program sledovala, které weby jeho uživatelé navštěvují, a tyto informace předávala dceřiné společnosti Jumpshot. Úřad pro ochranu osobních údajů

    … více »
    Ladislav Hagara | Komentářů: 11
    Jaké řešení používáte k vývoji / práci?
     (38%)
     (46%)
     (15%)
     (17%)
     (21%)
     (15%)
     (18%)
     (16%)
     (15%)
    Celkem 182 hlasů
     Komentářů: 12, poslední 4.10. 20:35
    Rozcestník

    Dotaz: (Py)Qt a práce se signály

    Martin Stiborský avatar 15.3.2009 14:29 Martin Stiborský | skóre: 26 | blog: Stibiho bláboly | Opava
    (Py)Qt a práce se signály
    Přečteno: 312×

    Dobrý den. Chtěl bych požádat o radu ohledně programování v Qt. Pracuji s PyQt, ale to není důležité, spíš mi jde o princip.

    Jde mi o to, že neumím namapovat signál na widget, protože se neumím "dostat" k samotnému objektu widgetu.
    Totiž, mám soubor app.py, kde je třída s programem, metody a další věci.
    Dále mám appGui.py, kde je popsáno GUI programu a také je tam metoda errorWindow(), která vykreslí jednoduché okýnko s QTextEdit. Toto okýnko má Button, u kterého potřebuji, aby spouštěl metodu, která je součástí app.py.
    Když si v app.py vytvořím proměnnou s instancí errorWindow(), tak přímo na widget buttonu se nedostanu, signál na něj nenalepím (dělám tady chybu ?), takže si mám widget nechat najít vypsáním potomků instance okýnka, nebo jak se toto řeší ?

    Díky za pomoc, snad to je aspoň trochu srozumitelné ..

    Kvík ..

    Odpovědi

    15.3.2009 18:41 spang
    Rozbalit Rozbalit vše Re: (Py)Qt a práce se signály
    Pokud se k tomu objektu potřebuješ dostat, ale rozumným způsobem to nejde, tak máš asi něco špatně navrženo. Když pošleš zdrojáky a napíšeš, kde chceš co udělat, tak bude mnohem snazší poradit.
    Martin Stiborský avatar 16.3.2009 23:20 Martin Stiborský | skóre: 26 | blog: Stibiho bláboly | Opava
    Rozbalit Rozbalit vše Re: (Py)Qt a práce se signály

    Tak už jsem se s tím nějak popral.

    Dám se zdrojáky řešení kterého jsem potřeboval dosáhnout. Je to samozřejmě úplně jednoduché, stačilo si pořádně uvědomit teorii a pořádně na to kouknout ..

    Soubor app.py

    #-*- coding: utf-8 -*-
    
    from PyQt4 import QtCore, QtGui
    from app_gui import AppGui
    import sys
    
    class App:
    	
    	def __init__(self):
    		self.ui = MyAppGui(None)
    		QtCore.QObject.connect(self.ui.cudlik, QtCore.SIGNAL("clicked()"), self.ui.cudlikZmacknut)
    
    class MyAppGui(AppGui):
    
    	def __init__(self, parent):
    		AppGui.__init__(self, parent)
    
    	def cudlikZmacknut(self):
    		QtGui.QMessageBox.information(self,
    						"Stibi si hraje!",
    						"Zmacknul jsi cudlik kamo!",
    						QtGui.QMessageBox.Ok)
    
    if __name__ == "__main__":
    	app = QtGui.QApplication(sys.argv)
    	mainWindow = App()
    	mainWindow.ui.show()
    	app.exec_()
    
    Soubor app_gui.py
    from PyQt4 import QtCore, QtGui
    
    class AppGui(QtGui.QMainWindow):
    	def __init__(self, parent = None):
    		QtGui.QMainWindow.__init__(self, parent)
    		self.setWindowTitle("Test")
    
    		self.udelejCudlik()
    
    	def udelejCudlik(self):
    		self.cudlik = QtGui.QPushButton("Zmackni me!", self)
    

    Kvík ..

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.