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 14:00 | Zajímavý článek

    Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie).

    Ladislav Hagara | Komentářů: 1
    dnes 12:00 | Nová verze

    V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 12.0 (Mastodon). Forgejo je fork Gitei.

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

    Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 155 (pdf) a Hello World 27 (pdf).

    Ladislav Hagara | Komentářů: 2
    včera 16:11 | Nová verze

    Hyprland, tj. kompozitor pro Wayland zaměřený na dláždění okny a zároveň grafické efekty, byl vydán ve verzi 0.50.0. Podrobný přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 3
    včera 15:55 | Komunita

    Patrick Volkerding oznámil před dvaatřiceti lety vydání Slackware Linuxu 1.00. Slackware Linux byl tenkrát k dispozici na 3,5 palcových disketách. Základní systém byl na 13 disketách. Kdo chtěl grafiku, potřeboval dalších 11 disket. Slackware Linux 1.00 byl postaven na Linuxu .99pl11 Alpha, libc 4.4.1, g++ 2.4.5 a XFree86 1.3.

    Ladislav Hagara | Komentářů: 6
    16.7. 21:22 | IT novinky

    Ministerstvo pro místní rozvoj (MMR) jako první orgán státní správy v Česku spustilo takzvaný „bug bounty“ program pro odhalování bezpečnostních rizik a zranitelných míst ve svých informačních systémech. Za nalezení kritické zranitelnosti nabízí veřejnosti odměnu 1000 eur, v případě vysoké závažnosti je to 500 eur. Program se inspiruje přístupy běžnými v komerčním sektoru nebo ve veřejné sféře v zahraničí.

    Ladislav Hagara | Komentářů: 19
    16.7. 16:22 | IT novinky

    Vláda dne 16. července 2025 schválila návrh nového jednotného vizuálního stylu státní správy. Vytvořilo jej na základě veřejné soutěže studio Najbrt. Náklady na přípravu návrhu a metodiky činily tři miliony korun. Modernizovaný dvouocasý lev vychází z malého státního znaku. Vizuální styl doprovází originální písmo Czechia Sans.

    Ladislav Hagara | Komentářů: 26
    16.7. 15:33 | Upozornění

    Vyhledávač DuckDuckGo je podle webu DownDetector od 2:15 SELČ nedostupný. Opět fungovat začal na několik minut zhruba v 15:15. Další služby nesouvisející přímo s vyhledáváním, jako mapyAI asistent jsou dostupné. Pro některé dotazy během výpadku stále funguje zobrazování například textu z Wikipedie.

    bindiff | Komentářů: 8
    16.7. 13:33 | Bezpečnostní upozornění

    Více než 600 aplikací postavených na PHP frameworku Laravel je zranitelných vůči vzdálenému spuštění libovolného kódu. Útočníci mohou zneužít veřejně uniklé konfigurační klíče APP_KEY (např. z GitHubu). Z více než 260 000 APP_KEY získaných z GitHubu bylo ověřeno, že přes 600 aplikací je zranitelných. Zhruba 63 % úniků pochází z .env souborů, které často obsahují i další citlivé údaje (např. přístupové údaje k databázím nebo cloudovým službám).

    Ladislav Hagara | Komentářů: 5
    16.7. 00:11 | Nová verze

    Open source modální textový editor Helix, inspirovaný editory Vim, Neovim či Kakoune, byl vydán ve verzi 25.07. Přehled novinek se záznamy terminálových sezení v asciinema v oznámení na webu. Detailně v CHANGELOGu na GitHubu.

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (27%)
     (7%)
     (3%)
     (0%)
     (1%)
     (4%)
    Celkem 410 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    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: 377×
    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.