Ahoj Petr, trochu som sa "hral s LEDkami" a chcel by som tam dorobiť funkciu blikania lediek. Rozšíril som tabuľku: okno = Gtk.Table(5, 2, True)
Pridal button: btn_blikanie = Gtk.ToggleButton("Blikanie") btn_blikanie.connect("toggled", self.blikanie) btn_blikanie.set_border_width(2) a samozrejme som zhavaroval na samotnej funckii... Snažil som sa to urobiť nejak takto: def blikanie(self, btn_blikanie): if btn_blikanie.get_active(): print ('Zapnuté') else: print ('Vypnuté') 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'. Vedel by si mi s tým, prosím, trochu pomôcť? Ale priznám sa tiež, že mám trochu hokej v (self, button, name):... Ty si vytvoril funkciu: def led_button_handler(self, button, name): self.leds[int(name)].set_from_file( "LED_on.png" if button.get_active() else "LED_off.png", ) a v zátvorke máš (self, button, name): Self sa používa pravdepodobne univerzálne vo všetkých funciách. Button si použil, pretože vo funkcii testuješ button.get_active a name pretože potrebuješ ovládať LEDky podľa ich názvov: str(i). 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í? Snažil som sa to spísať čo najpresnejšie, ale so svete pythonu (a programovania) som skutočne krátko a tak je možné, že som sa vyjadroval blbo. Ak je potrebné niečo upresniť, resp. spýtať sa logickejšie, stačí napísať. Ďakujem za odpovede. Lukáš _______________________________________________ Python mailing list python@py.cz http://www.py.cz/mailman/listinfo/python Visit: http://www.py.cz