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í
×
    dnes 04:44 | Komunita

    Google zveřejnil seznam 1 141 projektů (vývojářů) od 184 organizací přijatých do letošního, již dvaadvacátého, Google Summer of Code. Přihlášeno bylo celkově 23 371 projektů od 15 245 vývojářů ze 131 zemí.

    Ladislav Hagara | Komentářů: 0
    dnes 03:00 | Komunita

    Na čem pracovali vývojáři GNOME a KDE Plasma minulý týden? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    včera 03:44 | Nová verze

    Open source počítačová hra na hrdiny NetHack (Wikipedie, GitHub) byla vydána v nové verzi 5.0.0. První verze této hry byla vydána v roce 1987.

    Ladislav Hagara | Komentářů: 2
    1.5. 15:11 | IT novinky

    Evropská komise naléhavě vyzvala členské státy EU, aby kvůli ochraně nezletilých na internetu urychlily zavádění unijní aplikace pro ověřování věku a zajistily její dostupnost do konce roku. Členské státy mohou zavést aplikaci EU pro ověřování věku jako samostatnou aplikaci nebo ji integrovat do takzvané evropské peněženky digitální identity.

    Ladislav Hagara | Komentářů: 16
    30.4. 23:33 | Nová verze

    Richard Biener oznámil vydání verze 16.1 (16.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 16. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.

    Ladislav Hagara | Komentářů: 0
    30.4. 23:11 | Nová verze

    Zulip Server z open source komunikační platformy Zulip (Wikipedie, GitHub) byl vydán ve verzi 12.0. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    30.4. 12:11 | IT novinky

    Před 30 lety, tj. v úterý 30. dubna 1996, byl spuštěn Seznam.cz.

    Ladislav Hagara | Komentářů: 40
    30.4. 11:44 | Komunita

    Byly zpracovány a zveřejněny všechny videozáznamy, které stojí za zveřejnění, z konference FOSDEM 2026.

    Ladislav Hagara | Komentářů: 0
    30.4. 01:11 | IT novinky

    Od úterý 28. dubna musí nově uváděné notebooky v Evropské unii podporovat nabíjení přes USB-C. Jednotná nabíječka byla schválena Evropským parlamentem v říjnu 2022.

    Ladislav Hagara | Komentářů: 58
    29.4. 23:44 | Bezpečnostní upozornění

    Byly publikovány informace o kritické zranitelnosti CVE-2026-31431 pojmenované Copy Fail v Linuxu, konkrétně v kryptografii (AF_ALG). Běžný uživatel může získat práva roota (lokální eskalaci práv). Na všech distribucích Linuxu vydaných od roku 2017. Pomocí 732bajtového skriptu. V upstreamu je již opraveno. Zranitelnost byla nalezena pomocí AI Xint Code.

    Ladislav Hagara | Komentářů: 4
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (8%)
     (2%)
     (13%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (24%)
    Celkem 1484 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: pyQT4 a QThread

    1.7.2007 10:50 pepik | skóre: 16 | blog: nevim | Chlumec nad Cidlinou
    pyQT4 a QThread
    Přečteno: 647×
    Používám standartní funkci Thread, která je v modulu pro Python. Můj program zobrazuje GUI s progressbarem a zároveň spouštím druhé vlákno, které provádí náročnější operaci a průběh zobrazuje v progressbaru. Fungovalo to, ovšem pouze někdy. Tak z 80% jsem dostal SIGSEGV nebo jinou chybu. Zajímavé je, že občas to proběhlo bez chyby. Našel jsem, že pro tyto účely mám použít QThread. Ovšem nechápu jejich použití. Angličtinu louskám celkem blbě. Proto se ptám, jak je mám použít? Jako nové vlákno mám zpouštět GUI, nebo fci, která ovládá GUI? Byl bych rád, kdyby sem někdo hodil kus jednoduchého kódu. Zkoušel jsem s tím laborovat, ale nikdy se mi žádnou fci nepodařilo spustit jako vlákno.

    Odpovědi

    1.7.2007 11:59 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: pyQT4 a QThread
    Program v Pythonu, co dostane SIGSEGV? Ukaž ho, to se musí hlásit.
    1.7.2007 13:15 hanzz | skóre: 19 | blog: hanzz
    Rozbalit Rozbalit vše Re: pyQT4 a QThread
    Dve tridy... Jedna je samotny thread, druhe je progressdialog
    from PyQt4 import QtCore, QtGui
    import time,sys
    # vytvoreni mutexu
    mutex=QtCore.QMutex()
    
    class thread(QtCore.QThread):
    	"""
    	Thread, ktery co sekundu posune progress dialog o jeden stupen, dokud nebude na 100
    	"""
    	def __init__(self):
    		QtCore.QThread.__init__(self,None)
    
    	def run(self):
    		"""
    		Funkce, ktera je spustena po zapnuti threadu funkci start()
    		"""
    		# automaticke lockovani threadu pri praci s promennyma mimo tento thread
    		locker = QtCore.QMutexLocker(mutex)
    		i=0 # pocitadlo sekund
    		while i!=1000:
    			# ukonceni threadu pokud v progressDialogu zmenime promennou end na true
    			if win.end==True:
    				break
    			time.sleep(0.1)
    			i+=1
    			# emitovani signalu, na ktery je progressDialog napojen
    			self.emit(QtCore.SIGNAL("inc(int)"), i)
    
    class progress(QtGui.QProgressDialog):
    	"""
    	Derivovana trida progress dialogu
    	"""
    	def __init__(self):
    		"""
    		Vytvori a spusti thread a progressDialog
    		"""
    		QtGui.QProgressDialog.__init__(self,"Test dialogu","Zrusit",0,1000)
    		self.setWindowModality(QtCore.Qt.WindowModal)
    		# signaly potrebne k ukonceni threadu pri uzavreni okna a kliknuti na tlacitko pro ukonceni dialogu
    		QtCore.QObject.connect(app,QtCore.SIGNAL("lastWindowClosed() "),self._exit)
    		QtCore.QObject.connect(self,QtCore.SIGNAL("canceled() "),self._exit)
    		# vytvoreni threadu pomoci tridy thread()
    		self.thread=thread()
    		self.end=False
    		# napojeni signalu pro zvednuti stavu progressbaru na fci progressDialogu setValue(int)
    		QtCore.QObject.connect(self.thread, QtCore.SIGNAL("inc(int)"), self.setValue,QtCore.Qt.QueuedConnection)
    		# zapnuti threadu
    		self.thread.start()
    	
    	def _exit(self):
    		"""
    		Vypnuti threadu
    		"""
    		self.end=True
    		self.thread.wait()
    		app.quit()
    
    app = QtGui.QApplication(sys.argv)
    win=progress()
    win.show()
    sys.exit(app.exec_())
    
    
    1.7.2007 16:05 pepik | skóre: 16 | blog: nevim | Chlumec nad Cidlinou
    Rozbalit Rozbalit vše Re: pyQT4 a QThread
    Díky za pomoc.
    kozzi avatar 1.7.2007 13:37 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: pyQT4 a QThread
    No já si myslím s thread funkcemi hrál jak u pythonu tak i s těmi z Qt, ale proto co potřebuješ ty by bylo možná lepší použít QTimer je to jednoduší na pochoponí a jsou stím menší potíže. Obecně řečeno vlákna jsou dobrá, ale musejí se dobře použít.
    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"

    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.