<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
trochu som sa "hral s LEDkami" a chcel by som tam dorobiť funkciu blikania lediek.<br>
</blockquote><div><br></div><div>[...]</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
def cyklus_bliknutia (self, button, name):<br>
for name in range(4):<br>
if button.get_active():<br>
self.leds[int(name)].set_from_file("LED_off.png") # ak je aktívne zhasne LEDku<br>
else:<br>
self.leds[int(name)].set_from_file("LED_on.png") # ak nie je aktívne, zapne LEDku<br>
<br>
Viem, že je to blobosť hneď z niekoľkých dôvodov:<br>
1, vo funckii 'blikanie' nevolám funkciu 'cyklus_bliknutia' pretože netuším, ako ju zavolať :)<br>
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'.<br>
<br></blockquote><div>Jde o to, co jsme psali u té předchozí otázky: Je tam Gtk.main(), což je Event loop, která se stará<br></div><div>o to, aby poslala event tam, kam patří. Takže když máš </div><div> button.connect("toggled", handler, ...)</div>
<div>tak ta event loop, musí v okamžiku, kdy se s tlačítkem stane toggle zavolat handler. Ty potřebuješ,</div><div>aby v době, kdy chceš blikat, Ti event loop v pravidelných intervalech říkala: Teď blikni.</div><div><br>
</div>
<div><div> <a href="https://gist.github.com/petrblahos/9769152">https://gist.github.com/petrblahos/9769152</a><br></div></div><div><br></div><div>To je ten GLib.timeout_add. Všimni si, že já nechám to "blikni" zavolat ikdyž je tlačítko vypnuté, a </div>
<div>v handleru blink_timer se dívám, jestli je to tlačítko sepnuté. Tím pádem ale nebliknu hned jak někdo</div><div>zmáčkne tlačítko, ale bliknu to 1/2 sekundy. Navíc to blikání je konstantní, a nedívá se, co bylo na </div>
<div>obrázku, když se začalo blikat, takže celkově nic moc. No, takhle musí programátor přemýšlet. Hmm.</div><div><br></div><div>[...] </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
A teraz otázky:<br>
Je nejaké presné poradie, podľa ktorého je potrebné uvádzať tieto premenné v zátvorke?<br>
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í?<br></blockquote><div>
[...]</div><div><br></div><div>Já bych se moc nechtěl pouštět do vysvětlování těchto konceptů přes mail, a navíc na</div><div>tak pokročilém tématu, jako je tvorba UI. Bohužel Ti nedokážu poradit vhodnou literaturu </div>
<div>na začátek, ale zkus si pročíst <a href="http://python.cz">python.cz</a>, protože v nějakém uceleném tutoriálu, nebo </div><div>knize, to bude popsané konzistentněji, než to dokážeme my, tady na listu.</div><div><br>
</div><div>Tak mě napadlo, jak říkal Moss v IT Crowdu, díle Moss a Němec, občas je potřeba zkusit </div><div>něco nového. Takže jestli chceš, udělám Ti korespondenční kurz tím způsobem, že dostaneš</div><div>úkol, ten vyřešíš (nebo ne), já Ti to opravím, a pošlu další úkol. Teda s tím, že nemám </div>
<div>rozmyšleno, jestli dokážu udělat ty správné úkoly :-)</div><div><br></div><div>-- <br></div><div>Petr</div></div><div dir="ltr">____________________<br><div><a href="http://pysk.blog.root.cz/" target="_blank">http://pysk.blog.root.cz/</a><br>
</div></div>
</div></div>