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 04:00 | Nová verze

    raylib (Wikipedie), tj. multiplatformní open-source knihovna pro vývoj grafických aplikací a her, byla vydána ve verzi 6.0.

    Ladislav Hagara | Komentářů: 0
    včera 18:33 | IT novinky

    Nové verze AI modelů. Společnost OpenAI představila GPT‑5.5. Společnost DeepSeek představila DeepSeek V4.

    Ladislav Hagara | Komentářů: 0
    včera 15:33 | Zajímavý článek

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

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

    Bylo oznámeno, že webový prohlížeč Opera GX zaměřený na hráče počítačových her je už také na Flathubu and Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    23.4. 23:11 | IT novinky

    Akcionáři americké mediální společnosti Warner Bros. Discovery dnes schválili převzetí firmy konkurentem Paramount Skydance za zhruba 110 miliard dolarů (téměř 2,3 bilionu Kč). Firmy se na spojení dohodly v únoru. O část společnosti Warner Bros. Discovery dříve usilovala rovněž streamovací platforma Netflix, se svou nabídkou však neuspěla. Transakci ještě budou schvalovat regulační orgány, a to nejen ve Spojených státech, ale také

    … více »
    Ladislav Hagara | Komentářů: 0
    23.4. 22:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 26.04 LTS Resolute Raccoon. Přehled novinek v poznámkách k vydání. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 11. vydání s dlouhodobou podporou (LTS).

    Ladislav Hagara | Komentářů: 2
    23.4. 11:55 | Nová verze

    V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Gitea (Wikipedie) byla vydána v nové verzi 1.26.0. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.4. 04:44 | Pozvánky

    Ve středu 29. dubna 2026 se v pražské kanceláři SUSE v Karlíně uskuteční 7. Mobile Linux Hackday, komunitní setkání zaměřené na Linux na mobilních zařízeních, kernelový vývoj i uživatelský prostor. Akce proběhne od 10:00 do večerních hodin. Hackday je určen všem zájemcům o praktickou práci s Linuxem na telefonech. Zaměří se na vývoj aplikací v userspace, například bankovní aplikace, zpracování obrazu z kamery nebo práci s NFC, i na úpravy

    … více »
    lkocman | Komentářů: 1
    22.4. 21:55 | Nová verze

    LilyPond (Wikipedie) , tj. multiplatformní svobodný software určený pro sazbu notových zápisů, byl vydán ve verzi 2.26.0. Přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    22.4. 20:33 | Nová verze

    Byla vydána nová verze 11.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 237 vývojářů. Provedeno bylo více než 2 500 commitů. Přehled úprav a nových vlastností v seznamu změn.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (8%)
     (2%)
     (13%)
     (31%)
     (3%)
     (6%)
     (2%)
     (15%)
     (25%)
    Celkem 1412 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: 249×
    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.