Ahoj, zkus tohle: https://gist.github.com/petrblahos/9648800 a klidně se ptej. Ovšem připomínám, že s Gtk nedělám, takže je možné, že Best Practices jsou někde jinde.
Je tam problém, že se mnohokrát volá set_from_file. Správně by bylo si ty 2 obrázky na začátku nahrát, a potom je jen použít. -- Petr 2014-03-18 18:19 GMT+01:00 Lukáš Sliacky <lu...@sliacky.eu>: > Ahoj Petr, > > ďakujem za ochotu. Rozumiem tomu, čo si chcel "povedať", ale žiaľ, toto je > môj prvý program, takže sa s tým celkom dobre trápim. (Hotovým zdrojákom > ako tak rozumiem, ale ak mám vyprodukovať niečo z hlavy, je to problém) > > Snažil som sa Tvoj pseudokód preložiť do reálneho kódu, ale na to mám > príliš málo vedomostí a skúseností. > > "Výsledok" je tu: > > from gi.repository import Gtk > import sys > > class LedControl(Gtk.Window): > > def __init__(self): > Gtk.Window.__init__(self, title="LED Control") > self.set_border_width(6) > self.set_default_size(200, 250) > > okno = Gtk.Table(4, 2, True) > self.add(okno) > > img_LED_on = Gtk.Image() > img_LED_on.set_from_file("LED_on.png") > #~ self.add(img_LED_on) > > img_LED_off = Gtk.Image() > img_LED_off.set_from_file("LED_off.png") > #~ self.add(img_LED_off) > > widget_LED1 = Gtk.Image() > widget_LED2 = Gtk.Image() > widget_LED3 = Gtk.Image() > widget_LED4 = Gtk.Image() > > widget1 = Gtk.Image() > widget2 = Gtk.Image() > widget3 = Gtk.Image() > widget4 = Gtk.Image() > > button_LED_1 = Gtk.ToggleButton("LED 1") > button_LED_1.connect("toggled", self.LED_OnOff, "1") > button_LED_1.set_border_width(2) > > button_LED_2 = Gtk.ToggleButton("LED 2") > button_LED_2.connect("toggled", self.LED_OnOff, "2") > button_LED_2.set_border_width(2) > > button_LED_3 = Gtk.ToggleButton("LED 3") > button_LED_3.connect("toggled", self.LED_OnOff, "3") > button_LED_3.set_border_width(2) > > button_LED_4 = Gtk.ToggleButton("LED 4") > button_LED_4.connect("toggled", self.LED_OnOff, "4") > button_LED_4.set_border_width(2) > > led_widgets = { > button_LED_1.id: widget1, > button_LED_2.id: widget2, > button_LED_3.id: widget3, > button_LED_4.id: widget4 > } > > okno.attach(button_LED_1, 0, 1, 0, 1) > okno.attach(button_LED_2, 0, 1, 1, 2) > okno.attach(button_LED_3, 0, 1, 2, 3) > okno.attach(button_LED_4, 0, 1, 3, 4) > > #~ widget1.set_from_image(img_LED_off) > #~ widget1.set_from_image(img_LED_off) > #~ widget1.set_from_image(img_LED_off) > #~ widget1.set_from_image(img_LED_off) > > okno.attach = (widget_LED1, 1, 2, 2, 3) > okno.attach = (widget_LED2, 1, 2, 0, 1) > okno.attach = (widget_LED3, 1, 2, 1, 2) > okno.attach = (widget_LED4, 1, 2, 2, 3) > > def LED_OnOff(self, okno, name): > if okno.get_active(): > status = "on" > led_widgets[okno.id].set_from_image(img_LED_on) > else: > status = "off" > led_widgets[okno.id].set_from_image(img_LED_off) > print("Tlačítko LED", name, "zmenilo stav na", status) > > > app = LedControl() > app.connect("delete-event", Gtk.main_quit) > app.show_all() > Gtk.main() > > Našiel by sa niekto ochotný a hlavne trpezlivý, kto by ma posunul kúsok > ďalej? > Ďakujem. > > Lukáš > _______________________________________________ > Python mailing list > python@py.cz > http://www.py.cz/mailman/listinfo/python > > Visit: http://www.py.cz > -- ____________________ http://pysk.blog.root.cz/
_______________________________________________ Python mailing list python@py.cz http://www.py.cz/mailman/listinfo/python Visit: http://www.py.cz