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:44 | IT novinky

    Probíhá konference Microsoft Build 2026. Microsoft představuje své novinky: kvantový čip Majorana 2, Surface Laptop Ultra a Surface RTX Spark Dev Box s NVIDIA RTX Spark, Intelligent Terminal, Coreutils for Windows (fork Rust Coreutils), AI modely MAI, AI agenta Scout, platformu pro agent-first zařízení Project Solara, …

    Ladislav Hagara | Komentářů: 0
    dnes 12:44 | Nová verze

    Google Chrome 149 byl prohlášen za stabilní. Nejnovější stabilní verze 149.0.7827.53 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    dnes 10:55 | Nová verze

    Pluto.jl, reaktivní notebook pro programovací jazyk Julia, dospěl do verze 1.0.

    Ladislav Hagara | Komentářů: 3
    včera 13:44 | Nová verze

    Byla vydána nová verze 12.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.

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

    Počítačovou hru Gravity Circuit (ProtonDB) lze do 14. června do 19:00 získat na Steamu zdarma. Napořád.

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

    Nejnovější X.Org X server 21.1.23 a Xwayland 24.1.12 řeší 9 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    1.6. 22:33 | Bezpečnostní upozornění

    npm balíčky @redhat-cloud-services byly kompromitovány.

    Ladislav Hagara | Komentářů: 5
    1.6. 22:22 | Bezpečnostní upozornění

    Byly publikovány informace o zranitelnosti CVE-2026-46243 pojmenované CIFSwitch v Linuxu od roku 2007. Běžný uživatel může získat práva roota (lokální eskalaci práv). V upstreamu je již opraveno.

    Ladislav Hagara | Komentářů: 0
    1.6. 19:22 | IT novinky

    Nvidia na své konferenci NVIDIA GTC Taipei 2026 představila řadu novinek. Společně s Microsoftem představili superčip NVIDIA RTX Spark (až 6 144 jader GPU, 20 jader CPU, 1 petaflop AI výkonu v FP4 a 128 GB jednotné paměti). První notebooky a stolní počítače s tímto čipem od Nvidie místo Intelu nebo AMD by se měly na trh dostat na podzim letošního roku.

    Ladislav Hagara | Komentářů: 10
    1.6. 13:22 | IT novinky

    Na Kickstarteru běží kampaň na podporu kapesního počítače s Linuxem CardputerZero od společnosti M5Stack. Postaven je na Raspberry Pi Compute Module 0. Podporuje moduly M5. Koupit lze s rozšířeními LoRa a CC1101.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (15%)
     (31%)
     (4%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1808 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: Python + Gtk + sleep

    7.8.2011 11:28 Petur
    Python + Gtk + sleep
    Přečteno: 252×
    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.