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 10:55 | Nová verze

    Programovací jazyk Racket (Wikipedie), tj. jazyk z rodiny jazyků Lisp a potomek jazyka Scheme, byl vydán v nové major verzi 9.0. Hlavní novinku jsou paralelní vlákna (Parallel Threads).

    Ladislav Hagara | Komentářů: 0
    dnes 10:11 | Komunita

    Před šesti týdny bylo oznámeno, že Qualcomm kupuje Arduino. Minulý týden byly na stránkách Arduina aktualizovány podmínky používání a zásady ochrany osobních údajů. Objevily se obavy, že by otevřená povaha Arduina mohla být ohrožena. Arduino ubezpečuje, že se nic nemění a například omezení reverzního inženýrství v podmínkách používání se týká pouze SaaS cloudové aplikace.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Bezpečnostní upozornění

    Knihovna libpng, tj. oficiální referenční knihovna grafického formátu PNG (Portable Network Graphics), byla vydána ve verzi 1.6.51. Opraveny jsou 4 bezpečnostní chyby obsaženy ve verzích 1.6.0 (vydána 14. února 2013) až 1.6.50. Nejvážnější z chyb CVE-2025-65018 může vést ke spuštění libovolného kódu.

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

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 159 (pdf).

    Ladislav Hagara | Komentářů: 0
    21.11. 22:33 | Zajímavý software

    Hru Warhammer: Vermintide 2 (ProtonDB) lze na Steamu získat zdarma napořád, když aktivaci provedete do pondělí 24. listopadu.

    Ladislav Hagara | Komentářů: 1
    21.11. 19:33 | Nová verze Ladislav Hagara | Komentářů: 0
    21.11. 13:11 | IT novinky

    Evropská komise schválila český plán na poskytnutí státní pomoci v objemu 450 milionů eur (téměř 11 miliard Kč) na rozšíření výroby amerického producenta polovodičů onsemi v Rožnově pod Radhoštěm. Komise o tom informovala v dnešní tiskové zprávě. Společnost onsemi by podle ní do nového závodu v Rožnově pod Radhoštěm měla investovat 1,64 miliardy eur (téměř 40 miliard Kč).

    Ladislav Hagara | Komentářů: 18
    21.11. 06:11 | Komunita

    Microsoft v příspěvku na svém blogu věnovaném open source oznámil, že textové adventury Zork I, Zork II a Zork III (Wikipedie) jsou oficiálně open source pod licencí MIT.

    Ladislav Hagara | Komentářů: 0
    21.11. 05:55 | Komunita

    První prosincový týden proběhne SUSE Hack Week 25. Zaměstnanci SUSE mohou věnovat svůj pracovní čas libovolným open source projektům, například přidání AI agenta do Bugzilly, implementaci SSH v programovacím jazyce Zig nebo portaci klasických her na Linux. Připojit se může kdokoli.

    Ladislav Hagara | Komentářů: 4
    20.11. 22:00 | IT novinky

    Google oznámil, že Quick Share na Androidu funguje s AirDropem na iOS. Zatím na telefonech Pixel 10. Uživatelé tak mohou snadno přenášet soubory z telefonů s Androidem na iPhony a obráceně.

    Ladislav Hagara | Komentářů: 2
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (46%)
     (19%)
     (18%)
     (22%)
     (15%)
     (23%)
     (16%)
     (17%)
    Celkem 392 hlasů
     Komentářů: 17, poslední 19.11. 21:57
    Rozcestník

    Dotaz: Python + Gtk + sleep

    7.8.2011 11:28 Petur
    Python + Gtk + sleep
    Přečteno: 243×
    Zdravím,

    mám malý problém a rád bych si nechal poradit.

    Psal jsem si malý prográmek v pythonu s Gtk a když chci provést něco takového:

          for i in range (1,10): 
            self.entry.set_text(str(i))
            time.sleep(1)
        

    tak se mi to Gtk UI nezastavuje po jedné vteřině, ale vždy na celou dobu cyklu. Když si to nechám vypsat v terminálu, tak se to zastaví vždy na jednu vteřinu a vypíše, Gtk se zastaví na celou dobu a nakonec vypíše poslední hodnotu.

    Nevíte někdo, co s tím? Jak by se to dalo napsat tak, aby se zastavovalo po jedné vteřině i to Gtk?

    Jsem vděčný za jakékoliv rady a nápady.

    Taky jsem uvažoval, jestli to je tím sleep(1) nebo celým cyklem for, skoro jako by to Gtk čekalo, až cyklus skončí, aby mohlo něco zobrazit..

    Odpovědi

    7.8.2011 12:50 l4m4
    Rozbalit Rozbalit vše Re: Python + Gtk + sleep
    Teď ti prostě v rámci hlavní smyčky Gtk+ proběhne věc, která tvrá 10 sekund, tedy celý ten cyklus. Během této doby se přirozeně nezpracují žádné jiné události ani se nic nevykreslí (ne, Entry.set_text() se do hlavní smyčky nevrátí, jen změní ten text). Pak se to konečně do hlavní smyčky vrátí a vykreslí finální hodnotu v té entry.

    Co přesně znamená zastavovalo po jedné sekundě Gtk+? Má po tom čase proběhnout jedna iterace hlavní smyčky? Mají se zpracovat události, dokud nějaké jsou (představ si uživatele zuřivě měnícího myší velikost okna a pod.)? Opravdu chceš, aby na sekundu mrzlo GUI?

    Viz

    http://developer.gnome.org/gtk-faq/stable/x601.html

    ale většinou je explicitní iterace výrazem maximálního zoufalství, protože kód pak není řízen událostmi.
    7.8.2011 14:18 Petur
    Rozbalit Rozbalit vše Re: Python + Gtk + sleep
    Ono ani moc nejde o to, aby GUI mrzlo, ale aby se každou vteřinu vypsal ten text, aby se to každou vteřinu opakovalo. Když jsem to dal dohromady s tím příspěvkem níže, tak se mi to podařilo už rozjet, a teď se snažím přijít na to, jak to zase zastavit
    7.8.2011 14:51 chrono
    Rozbalit Rozbalit vše Re: Python + Gtk + sleep
    Keď tá funkcia vráti False, prestane sa opakovať. Prípadne sa dá použiť funkcia glib.source_remove (ako parameter sa použije ID, ktoré vráti glib.timeout_add).
    7.8.2011 21:10 Petur
    Rozbalit Rozbalit vše Re: Python + Gtk + sleep
    To je přesně ono. Díky moc!
    7.8.2011 13:00 chrono
    Rozbalit Rozbalit vše Re: Python + Gtk + sleep
    Problém je v tom, že ten text sa tam síce mení raz za sekundu, UI sa ale neprekreslí (práve kvôli tomu sleep), takže to vyzerá tak, ako keby to nič nerobilo.

    Aby to robilo to čo chceš, budeš musieť použiť glib.timeout_add_seconds alebo glib.timeout_add. Vlastne tam stačí pridať (pred sleep) niečo ako
    while gtk.events_pending():
       gtk.main_iteration(False)
    to ale nezabráni tomu, aby sa UI prestalo vždy na tú sekundu reagovať.
    mess avatar 7.8.2011 15:23 mess | skóre: 43 | blog: bordel | Háj ve Slezsku - Smolkov
    Rozbalit Rozbalit vše Re: Python + Gtk + sleep
    Zeptám se blbě - nejde to spustit v dalším vlákně?
    Cez párne mesiace zošíváš vaginy, cez neparne montuješ hajzle.
    7.8.2011 15:29 chrono
    Rozbalit Rozbalit vše Re: Python + Gtk + sleep
    Spustiť v inom vlákne sa to určite dá, ale meniť niečo v UI z iného vlákna je málokedy dobrý nápad.
    Josef Kufner avatar 7.8.2011 15:36 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Python + Gtk + sleep
    Na tohle kadý GUI toolkit obsahuje časovače.
    Hello world ! Segmentation fault (core dumped)

    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.