[python] základná programátorska otázka
Petr Blahos
petrblahos na gmail.com
Pondělí Březen 24 10:55:59 CET 2014
2014-03-24 10:16 GMT+01:00 Lukáš Sliacky <lukas na sliacky.eu>:
> Začínam s pythonom + Gtk (a vlastne s programovaním vôbec) a stále mi v
> hlave vŕta zásadná otázka:
>
> Hypoteticky: Chcem urobiť aplikáciu, ktorá bude vedieť reagovať na "akciu
> zvonku", napr. kalkulačku, ktorá by ale podporovala klávesové skratky. Robí
> sa to tak, že dám nejaký nekonečný cyklus, ktorý bude čakať, či "zvonku"
> príde konkrétna klávesová skratka, alebo sa to robí inak?
>
Ahoj,
Vpodstatě ano, ale ten nekonečný cyklus udělá ten framework (např. Gtk+).
Prvně si uděláš ta okna s ovládacími prvky, na ně připojíš handlery
(window.connect),
spustíš Gtk.main(). V něm vpodstatě je ten cyklus, který v okamžiku, kdy
přijde
nějaká událost, např. kliknutí na tlačítko, časovač, nebo jedna z mnoha
dalších,
tak z ní udělá např. volání toho handleru (led_button_handler, jestlis to
byl Ty).
Popravdě, v Gtk.main není obyčejný cyklus, protože ten by sežral veškerý
procesor,
takže se to musí dělat jinak, ale na této úrovni to stačí.
> Alebo: Mám aplikáciu, ktorá by snímala teplotu na čidle. Musím urobiť
> cyklus, ktorý napr. každých 15 sekúnd prečíta teplotu?
>
Na to jsou v UI frameworcích časovače. Takže nemáš cyklus, ale nastavíš si
nějaký ten časovač,
který každých 15s vyvolá událost (pošle zprávu, zavolá handler), ovšem
nevím, jak se to dělá v Gtk.
Případně, já mám IP teploměry, které mi v zadaných intervalech posílají
teplotu třeba jako
HTTP GET. Ale to už jsme někde jinde.
--
Petr
____________________
http://pysk.blog.root.cz/
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20140324/10df7843/attachment.html>
Další informace o konferenci Python