[python] Gtk LED on/off (začiatočník)

Jakub Vysoky jakub na borka.cz
Úterý Březen 25 21:40:05 CET 2014


ad neco noveho> udelejte to tady pres konferenci, nebo kdekoliv jinde,
ale public - myslim, ze by to mohlo byt zajimave pro spoustu lidi to
alespon sledovat (nebo se i pripojit?) a treba na to pak i vselijak
navazat.. co vy a to?

2014-03-25 20:32 GMT+01:00 Petr Blahos <petrblahos na gmail.com>:
>> trochu som sa "hral s LEDkami" a chcel by som tam dorobiť funkciu blikania
>> lediek.
>
>
> [...]
>
>>
>>     def cyklus_bliknutia (self, button, name):
>>         for name in range(4):
>>             if button.get_active():
>>                 self.leds[int(name)].set_from_file("LED_off.png")   # ak
>> je aktívne zhasne LEDku
>>             else:
>>                 self.leds[int(name)].set_from_file("LED_on.png")    # ak
>> nie je aktívne, zapne LEDku
>>
>> Viem, že je to blobosť hneď z niekoľkých dôvodov:
>> 1, vo funckii 'blikanie' nevolám funkciu 'cyklus_bliknutia' pretože
>> netuším, ako ju zavolať :)
>> 2, vo funckii 'cyklus_bliknutia' mám síce for, ale zasa neviem, ako
>> otestovať postupne všetky tlačítka, keďže to ide cez 'name'.
>>
> Jde o to, co jsme psali u té předchozí otázky: Je tam Gtk.main(), což je
> Event loop, která se stará
> o to, aby poslala event tam, kam patří. Takže když máš
>   button.connect("toggled", handler, ...)
> tak ta event loop, musí v okamžiku, kdy se s tlačítkem stane toggle zavolat
> handler. Ty potřebuješ,
> aby v době, kdy chceš blikat, Ti event loop v pravidelných intervalech
> říkala: Teď blikni.
>
>   https://gist.github.com/petrblahos/9769152
>
> To je ten GLib.timeout_add. Všimni si, že já nechám to "blikni" zavolat
> ikdyž je tlačítko vypnuté, a
> v handleru blink_timer se dívám, jestli je to tlačítko sepnuté. Tím pádem
> ale nebliknu hned jak někdo
> zmáčkne tlačítko, ale bliknu to 1/2 sekundy. Navíc to blikání je konstantní,
> a nedívá se, co bylo na
> obrázku, když se začalo blikat, takže celkově nic moc. No, takhle musí
> programátor přemýšlet. Hmm.
>
> [...]
>>
>>
>> A teraz otázky:
>> Je nejaké presné poradie, podľa ktorého je potrebné uvádzať tieto premenné
>> v zátvorke?
>> Môžem s nimi pracovať lubovoľne? Mám na mysli tak, že keby som napr. chcel
>> moje dve pseudofunckie zlučiť do jednej, môžem použiť niečo ako (self,
>> btn_blikanie, button, name)? A ak áno, v akom poradí?
>
> [...]
>
> Já bych se moc nechtěl pouštět do vysvětlování těchto konceptů přes mail, a
> navíc na
> tak pokročilém tématu, jako je tvorba UI. Bohužel Ti nedokážu poradit
> vhodnou literaturu
> na začátek, ale zkus si pročíst python.cz, protože v nějakém uceleném
> tutoriálu, nebo
> knize, to bude popsané konzistentněji, než to dokážeme my, tady na listu.
>
> Tak mě napadlo, jak říkal Moss v IT Crowdu, díle Moss a Němec, občas je
> potřeba zkusit
> něco nového. Takže jestli chceš, udělám Ti korespondenční kurz tím způsobem,
> že dostaneš
> úkol, ten vyřešíš (nebo ne), já Ti to opravím, a pošlu další úkol. Teda s
> tím, že nemám
> rozmyšleno, jestli dokážu udělat ty správné úkoly :-)
>
> --
> Petr
> ____________________
> http://pysk.blog.root.cz/
>
> _______________________________________________
> Python mailing list
> python na py.cz
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz



-- 
Jakub Vysoky

mob: +420 605 852 377
jab: jakub.vysoky na gmail.com
twit: https://twitter.com/kvbik


Další informace o konferenci Python