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 02:33 | IT novinky

    Canonical oznámil vydání Zephyr 26.04 LTS. Jedná se o komerční distribuci operačního systému pro mikrokontroléry Zephyr (Wikipedie) s podporou až 15 let.

    Ladislav Hagara | Komentářů: 1
    dnes 02:00 | Zajímavý projekt

    Gravity Linux je linuxová distribuce určená pro Apple Silicon s čipy M4 a novějšími. Vydána byla alfa verze pro M4 Mac mini. Gravity Linux je fork Asahi Linuxu.

    Ladislav Hagara | Komentářů: 0
    včera 22:22 | Zajímavý projekt

    Hister je osobní soukromý vyhledávač, který lze provozovat na vlastním stroji. Umí prohledávat lokální soubory, importovat historii a záložky z webových prohlížečů, procházet vybrané weby a pomocí rozšíření pro Firefox a Chrome indexovat obsah právě navštívených stránek. Nad vytvořeným indexem pak nabízí vyhledávání prostřednictvím webového rozhraní, příkazové řádky a díky podpoře MCP i nástrojům umělé inteligence. Tento

    … více »
    AfD 💙 | Komentářů: 5
    včera 13:33 | IT novinky

    Ministerstvo dopravy uznalo prozatímní schválení asistenčního systému Tesla FSD Supervised vydané nizozemským schvalovacím orgánem RDW. Připojilo se tak k Nizozemsku a dalším pěti evropským státům. Systém je díky tomuto rozhodnutí možné používat za podmínek prozatímního schválení také na území České republiky. Tesla FSD Supervised je asistenčním systémem úrovně 2 podle klasifikace SAE (částečná automatizace řízení). Řidič se

    … více »
    Ladislav Hagara | Komentářů: 17
    včera 11:22 | Upozornění

    Někteří zákazníci O2 mohou aktuálně zaznamenat zhoršenou dostupnost internetových služeb. Na odstranění potíží se pracuje [Facebook].

    Ladislav Hagara | Komentářů: 9
    včera 01:22 | Nová verze

    PyPy (Wikipedie), tj. implementace Pythonu v RPythonu, alternativa CPythonu v C, byla vydána v nové major verzi 8.0.0. Podporuje Python 2.7, 3.11 a 3.12.

    Ladislav Hagara | Komentářů: 0
    včera 00:22 | Komunita
    V rakouském Štýrském Hradci probíhá konference vývojářů a uživatelů desktopového prostředí KDE Plasma Akademy 2026. O víkendu proběhly přednášky. Videozáznamy jsou k dispozici na YouTube.
    Ladislav Hagara | Komentářů: 4
    20.9. 23:55 | Bezpečnostní upozornění

    V jádře Linux byly nalezeny a v upstremu ve verzích 5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.109, 6.18.50 a 7.2.4 již opraveny 4 kritické zranitelnosti umožňující eskalaci práv: DirtyAH6 (CVE-2026-80844), TUNderflow (CVE-2026-81000), PPPoEject (CVE-2026-68121) a DiagSpill (CVE-2026-74469).

    Ladislav Hagara | Komentářů: 0
    20.9. 23:11 | Zajímavý článek

    Německá policie a celníci zneužívají ke čtení zpráv komunikačních aplikacích WhatsApp, Signal, Telegram nebo Threema velice jednoduchý trik, který nevyžaduje prolomení šifrování, spear phishing, odposlech SMS či jinou technicky náročnou metodu. Příslušníkům státního aparátu pouze stačí získat krátký přístup k odemčenému telefonu a prostřednictvím QR kódu propojit účet s oficiální desktopovou nebo webovou aplikací v policejním

    … více »
    AfD 💙 | Komentářů: 7
    19.9. 02:11 | IT novinky Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2710 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    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: 840×
    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.