[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