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 08:26 | Zajímavý článek
    Do roku 2030 bude nutno cca 1/4 podmořských optických kabelů nahradit novými. Do roku 2040 bude polovina obsluhující opravárenské flotily přesluhující. Na starost mají ke dnešku cca 1.500.000 km komunikačních podmořských kabelů v 607 kompletech instalací. Více na blogu APNIC
    vencour | Komentářů: 0
    včera 17:33 | Bezpečnostní upozornění

    Byla vydána nová verze 25.12.6 linuxové distribuce primárně určené pro routery a vestavěné systémy OpenWrt (Wikipedie). Opravena je řada zranitelností v základních síťových službách, které jsou ve výchozím nastavení aktivní a které lze zneužít na dálku. Důrazně je doporučena aktualizace.

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

    Český projekt mapSTL.com promění vybrané místo na světě ve 3D mapu pro tisk, včetně měst, kopců a hor. Vytištěnou mapu můžete také pověsit na zeď jako obraz. STL i barevný 3MF stáhnete zdarma a bez registrace. Vyzkoušejte své oblíbené místo a podělte se o zpětnou vazbu.

    cvp | Komentářů: 3
    včera 10:22 | Pozvánky

    Byl zveřejněn průběžně aktualizovaný program konference OpenAlt 2026 o otevřeném softwaru a datech, IT bezpečnosti, DIY a IoT. Konference proběhne o víkendu 7. a 8. listopadu v prostorách FIT VUT v Brně. Vstup je zdarma.

    Ladislav Hagara | Komentářů: 0
    včera 08:08 | Zajímavý článek
    Nepálský ISP WorldLink Communications popisuje sedm let zavádění IPv6. Dnes provozuje přes milion IPoE přípojek, všechny s podporou IPv6, a přibližně 70 % provozu přenáší přes IPv6.… více »
    vencour | Komentářů: 3
    včera 02:11 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 7.2 oznámil Linus Torvalds vydání Linuxu 7.3. Podrobný přehled novinek a vylepšení na Linux Kernel Newbies nebo LWN.net: první a druhá polovina začleňovacího okna.

    Ladislav Hagara | Komentářů: 1
    18.10. 23:39 | Bezpečnostní upozornění
    Zjištěna zranitelnost v kernelu projevující se při virtualizaci. Nejde tedy o chybu samotného KVM ani konkrétního poskytovatele cloudu, ale o problém v linuxovém zpracování IPv4 paketů, který se může týkat různých virtualizačních a sandboxových prostředí. Více např. na hacker.news - Critical PwnEscape Linux Kernel Vulnerability Lets Guest VMs Read Host Memory. Aktualizace jsou k dispozici.
    vencour | Komentářů: 0
    18.10. 23:38 | Bezpečnostní upozornění
    Malware napsaný v Go se šíří mezi linuxovými systémy, pokouší se získávat SSH klíče a využívá kompromitované stroje pro těžbu kryptoměn. Autor použil FakeNet-NG a Wireshark k analýze síťové komunikace. Popsal také indikátory kompromitace a možnosti obrany. Zajímavé je propojení SSH bezpečnosti, analýzy síťového provozu a detekce prostřednictvím SIEM. více
    vencour | Komentářů: 0
    16.10. 15:55 | Nová verze

    Memtest86+ (Wikipedie), svobodný nástroj pro kontrolu operační paměti, byl vydán ve verzi 9.00. S podporou architektury AArch64 (ARM64).

    Ladislav Hagara | Komentářů: 1
    16.10. 03:44 | IT novinky

    Společnost Fairphone stojící za stejnojmennými mobilními telefony představila (pdf) bezdrátová špuntová sluchátka Fairbuds 2. Opravitelná, s vyměnitelnými bateriemi a tříletou zárukou. Cena 119 eur.

    Ladislav Hagara | Komentářů: 18
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2872 hlasů
     Komentářů: 32, poslední 11.10. 17:02
    Rozcestník

    Dotaz: Python + PyQt4 + vlákno..

    19.8.2010 14:05 janhaj | skóre: 3
    Python + PyQt4 + vlákno..
    Přečteno: 477×
    zdravím..

    snažím se napsat aplikaci v PyQt4. V hlavním, defaultním vlákně se vykreslí GUI a vytvoří se nový thread2, který mi přidá záznamy do QListWidgetu (které je vykresleno již). Když thread2 doběhne, potřeboval bych změnit zprávu ve stavové oblasti - statusBar. self.MainWindow.statusBar().showMessage(u'Seznam aktualizován') Když to udělám v threadu2, ukončí se program s chybou, že nemůžu přistupovat ke GUI z jiného threadu. Naopak, když dám while cyklus (jestli vlákno ještě žije) do hlavního, defaultního threadu, tak se GUI objeví, až když ten while skončí a to i přesto, že se ten cyklus nachází za self.MainWindow.show().

    Ještě doplním, nové vlákno zakládám takhle: self.thread2 = threading.Thread(target = self.test_internetu) a startuji self.thread2.start()

    Poradí někdo, jak to vyřešit? Jsem v tomhle nováček. Děkuji předem

    Řešení dotazu:


    Odpovědi

    19.8.2010 14:13 reqw5q23
    Rozbalit Rozbalit vše Re: Python + PyQt4 + vlákno..
    Nejjednoduzsi bude poslat v tom vedlejsim threadu tesne pred koncem (a po dokonceni vsech akci) signal a na ten v hlavnim threadu reagovat aktualizaci statusbaru. Cyklus (sleep, atd) bych durazne nedoporucil, protoze to brzi interaktivitu.
    19.8.2010 14:16 janhaj | skóre: 3
    Rozbalit Rozbalit vše Re: Python + PyQt4 + vlákno..
    to je logické.. ale vůbec nevím, jak bych to napsal.. uveď to prosím na nějakém příkladu.. díky
    Řešení 1× (janhaj (tazatel))
    19.8.2010 14:53 michal | skóre: 24 | blog: Blog
    Rozbalit Rozbalit vše Re: Python + PyQt4 + vlákno..
    Doporučuji na thready používat PyQt4 a ne přímo thready z Pythonu. Tady je kus kódu kde jsem to také řešil. Podle emitovaného signálu to volá funkce self.updateUi(self, outputlist), self.failed(), atd. Dokumentace http://doc.trolltech.com/4.6/qthread.html, signál finished() je volán po dokončení.
    	self.thread = MainThread(self)
    	self.changeStartButton(0)
    	self.connect(self.thread, QtCore.SIGNAL("output"), self.updateUi)
    	self.connect(self.thread, QtCore.SIGNAL("failed"), self.failed)
    	self.connect(self.thread, QtCore.SIGNAL("newValue"), self.progressBar.setValue)
    	self.connect(self.thread, QtCore.SIGNAL("finished()"), self.changeStartButton)
    
    class MainThread(QtCore.QThread):
        def __init__(self, parent):
            QtCore.QThread.__init__(self, parent)
            self.progress = IterateProgress(self,parent.progressBar)
            self.parent = parent
        def prepare(self,setting):
    	self.setting = setting
        def run(self):
    	print 'RUN'
    	try:
    	    output_list = tomography(self.setting,  self.progress)  # vlastní program !!!
    	except KeyboardInterrupt:
    	    self.emit(QtCore.SIGNAL("newValue"),0)
    	    return
    	except:
    	    self.emit(QtCore.SIGNAL("failed"))
    	    self.emit(QtCore.SIGNAL("newValue"),0)
    	    raise
    	    return
    	else:
    	    self.emit(QtCore.SIGNAL("output"),output_list)
    
    19.8.2010 17:03 janhaj | skóre: 3
    Rozbalit Rozbalit vše Re: Python + PyQt4 + vlákno..
    funguje, díky moc.. :) paráda! :)

    Založit nové vlákno • Nahoru

    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.