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 15:44 | Zajímavý software

    Asterinas (GitHub) je v Rustu napsané jádro operačního systému poskytující s jádrem Linux kompatibilní ABI. Vydána byla verze 0.18.0. První distribucí postavenou nad jádrem Asterinas je Asterinas NixOS. Nejedná se o oficiální projekt NixOS a nemá nic společného s NixOS Foundation.

    Ladislav Hagara | Komentářů: 1
    včera 13:22 | Zajímavý článek

    Podrobně byla rozebrána kritická zranitelnost v nf_tables (CVE-2026-23111). Další lokální eskalace práv na Linuxu. V upstreamu byla zranitelnost již v únoru opravena. Ve zdrojovém kódu stačilo odstranit 1 vykřičník.

    Ladislav Hagara | Komentářů: 1
    včera 12:11 | Nová verze

    Evropská komise (EK) nařídila americké společnosti Meta, že musí znovu umožnit bezplatný přístup konkurenčním obecně zaměřeným asistentům umělé inteligence (AI) k WhatsAppu a tento přístup musí zachovat až do ukončení antimonopolního šetření. Opatření je dočasné a má zabránit vážnému a nevratnému poškození konkurence na rychle rostoucím trhu s obecnými AI asistenty. Meta uvedla, že se proti rozhodnutí odvolá.

    Ladislav Hagara | Komentářů: 7
    včera 11:44 | IT novinky

    Společnost Anthropic představila AI modely Claude Fable 5 a Claude Mythos 5. Claude Fable 5 je první model třídy Mythos určený pro běžné použití.

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

    Byla vydána nová stabilní verze 3.24.0, tj. první z nové řady 3.24, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    včera 03:33 | Komunita

    Na čem pracují vývojáři v Rustu napsaného mikrokernelového unixového operačního systému Redox OS (Wikipedie)? Byl publikován přehled vývoje za květen. Vypíchnout lze nový scheduler EEVDF nebo port desktopového prostředí Xfce na Redox OS.

    Ladislav Hagara | Komentářů: 0
    9.6. 22:22 | Komunita

    Upozornění pro uživatele Asahi Linuxu: Neaktualizujte macOS na verzi 27 Golden Gate! Apple změnil detekci spouštěcích oddílů. Po aktualizaci oddíl s Asahi Linuxem nevidí. Snad je to jenom chyba.

    Ladislav Hagara | Komentářů: 5
    9.6. 15:11 | Komunita

    Na webu konference Den IPv6, která se konala 4. června v Národní technické knihovně v pražských Dejvicích, jsou nyní k dispozici všechny prezentace (v PDF) a jejich videozáznamy. Organizátory konference byly i letos sdružení CESNET, CZ.NIC a NIX.CZ.

    VSladek | Komentářů: 0
    9.6. 13:11 | Nová verze

    Byla vydána nová verze 9.1.0 správce sbírky fotografií digiKam (Wikipedie). Přehled novinek i s náhledy v oficiálním oznámení (NEWS). Vypíchnout lze vylepšené vyhledávání nebo podporu Pixel Motion Photos. Nejnovější digiKam je ke stažení také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.

    Ladislav Hagara | Komentářů: 1
    9.6. 11:44 | Pozvánky

    Přihlaste svou přednášku na další ročník konference LinuxDays, který proběhne 3. a 4. října na FIT ČVUT v pražských Dejvicích. Příjem témat poběží do konce prázdnin, pak proběhne veřejné hlasování a následně sestavení programu.

    Petr Krčmář | Komentářů: 3
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (15%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (27%)
    Celkem 1871 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: pyQT4 a signál

    29.6.2007 13:35 pepik | skóre: 16 | blog: nevim | Chlumec nad Cidlinou
    pyQT4 a signál
    Přečteno: 426×
    Učim se programovat v pyqt, ale mám jeden dotaz. Například mám jednoduché okno s tlačítkem. Při stisku tlačítka se mi spustí fce, která třeba odpočítává 10 sekund a po odpočítání se program vypne. Ovšem během odpočítávání se GUI přestane překreslovat a nejde s ním pracovat. Proto potřebuju radu, jak spustit tuto fci odděleně. Dohledal jsem si něco o použití vláken, ale i s nimi se mě nedaří docílit požadovaného výsledku.

    Odpovědi

    Luboš Doležel (Doli) avatar 29.6.2007 13:37 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: pyQT4 a signál
    Já v Pythonu nedělám, ale tohle v C++ řeším pomocí QTimer posílajícího signály (nebo QTimer::singleShot(), když jde jen o jeden).
    29.6.2007 13:47 pepik | skóre: 16 | blog: nevim | Chlumec nad Cidlinou
    Rozbalit Rozbalit vše Re: pyQT4 a signál
    A co když bych chtěl v té fci provádět něco jiného, co by zabralo více času, jak bych pak zajistil aby se GUI během provádění funkce překreslovalo?
    Luboš Doležel (Doli) avatar 29.6.2007 13:50 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: pyQT4 a signál
    Pak buď použít jiné vlákno nebo volat QCoreApplication::processEvents()
    29.6.2007 14:15 pepik | skóre: 16 | blog: nevim | Chlumec nad Cidlinou
    Rozbalit Rozbalit vše Re: pyQT4 a signál
    Bohužel jsem nic o QCoreApplication::processEvents() společně s pythonem nenašel. Ani nic, co by se podobalo. Snad mi poradí nějaký znalý pythonista, přesto dík za radu.
    29.6.2007 15:09 hanzz | skóre: 19 | blog: hanzz
    Rozbalit Rozbalit vše Re: pyQT4 a signál
    Budes se muset naucit vyuzivat dokumentaci k QT4, ktera je psana pro C++. Pro Python dokumentace moc neni, protoze zkusenejsi nemaji problem prebirat dokumentaci z C++ a tak neni motivace neco psat.

    Jedna z moznosti jak vyresit tvuj problem ja pouziti vlaken (Threadu), ale to obnasi vetsi znalosti QT :). Ja ve svych aplikacich pouzivam QThread pro vlakna a QMutex spolecne se signaly a sloty mezi vlakny pro synchronizaci vlaken mezi sebou. Podivej se do dokumentace k PyQt na priklad malderbrot.py nebo na dalsi priklady, ktere se zabyvaji thready. Kdyztak bych mohl poslat jednoduchy skript, ktery by mohl poslouzit jako ukazka threadu a signaly mezi nimy v QT4. (ackoliv PyQt4 obsahuje nektere chyby, ktere jsem v tom skriptu musel obejit)
    29.6.2007 15:10 hanzz | skóre: 19 | blog: hanzz
    Rozbalit Rozbalit vše Re: pyQT4 a signál
    Aha.. az ted jsem si precetl, ze uz si vlakna zkousel.. S vlakny to urcite pujde... posli ukazku kodu, jak je pouzivas... :)
    29.6.2007 15:49 pepik | skóre: 16 | blog: nevim | Chlumec nad Cidlinou
    Rozbalit Rozbalit vše Re: pyQT4 a signál
    Já jsem použil ty vlákna, co nabízí python. Zkusím se kouknout na QThread. Dík za nasměrování
    29.6.2007 16:05 hanzz | skóre: 19 | blog: hanzz
    Rozbalit Rozbalit vše Re: pyQT4 a signál
    Tak melo by to fungovat i s normalnimi python vlakny, ale s temi se pak blbe (vlastne nevim, jestli to jde vubec) prenasi signaly mezi vlaknem a hlavni aplikaci :)
    29.6.2007 23:59 mimi.vx | skóre: 37 | blog: Mimi.VX | Praha
    Rozbalit Rozbalit vše Re: pyQT4 a signál
    posli ty priklady na www.py.cz pls
    USE="-gnome -kde";turris
    30.6.2007 08:34 hanzz | skóre: 19 | blog: hanzz
    Rozbalit Rozbalit vše Re: pyQT4 a signál
    kde tam? :) sorry, ze se ptam tak blbe, ale nejak tam neumim sekci o PyQt4 najit
    29.6.2007 16:04 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: pyQT4 a signál
    V pythonu používám GTK. Vím, že je ti to k ničemu, ale když už to tu mám ...
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    
    import gtk, gobject
    
    class Killme:
        def __init__(self):
            self.button = gtk.ToggleButton()
            self.timeout = None
            self.toggled()
            self.button.connect('toggled', self.toggled)
            self.button.show()
            w = gtk.Window()
            w.add(self.button)
            w.connect('destroy', gtk.main_quit)
            w.show()
            gtk.main()
    
        def run_timer(self, foo = None):
            self.seconds -= 1
            self.button.set_label(u'Chcípnu za %d sekund' %self.seconds)
            self.timeout = gobject.timeout_add(1000, self.run_timer, None)
            if self.seconds == 0:
                gtk.main_quit()
    
        def stop_timer(self):
            if self.timeout:
                gobject.source_remove(self.timeout)
            self.button.set_label(u'Zapni odpočítávání')
    
        def toggled(self, foo = None):
            self.seconds = 10
            if self.button.get_active():
                self.run_timer()
            else:
                self.stop_timer()
    
    k = Killme()
    
    Jinak vláknům, hlavní smyčce událostí, časově náročným funkcím a obnovování GUI se věnuje celá sekce PyGTK FAQ: http://faq.pygtk.org/index.py?req=index
    v Qt jistě bude něco podobného ...
    29.6.2007 16:20 pepik | skóre: 16 | blog: nevim | Chlumec nad Cidlinou
    Rozbalit Rozbalit vše Re: pyQT4 a signál
    Zkusil jsem toto(použito z Helloworld z abclinuxu.cz :-D ):
    #!/usr/bin/python
    from qt import *
    import time
    import threading
    def click():
    	v = threading.Thread(target = vlakno)
    	v.start()
    def vlakno():
    	time.sleep(5)
    	print "ok"
    app=QApplication([])
    win=QMainWindow()
    win.button=QPushButton(win,"Hello")
    win.button.setText("Hello World")
    win.show()
    app.connect(app, SIGNAL("lastWindowClosed()"), app, SLOT("quit()"))
    app.connect(win.button, SIGNAL("clicked()"),click)
    app.exec_loop()
    
    a opravdu se GUI během těch 5-ti vteřin překresluje.
    29.6.2007 16:23 pepik | skóre: 16 | blog: nevim | Chlumec nad Cidlinou
    Rozbalit Rozbalit vše Re: pyQT4 a signál
    Ups, jak vložit kód, aby byl správně naformátovaný?
    Luboš Doležel (Doli) avatar 29.6.2007 17:51 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: pyQT4 a signál
    Stačí použít tag PRE, pak nejsou zapotřebí ani ty BR. Opravil jsem to.
    29.6.2007 18:23 pepik | skóre: 16 | blog: nevim | Chlumec nad Cidlinou
    Rozbalit Rozbalit vše Re: pyQT4 a signál
    ok, dí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.