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

Petr Blahos petrblahos na gmail.com
Středa Březen 19 20:08:30 CET 2014


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 <lukas na 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 na py.cz
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz
>



-- 
____________________
http://pysk.blog.root.cz/
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20140319/15df6692/attachment.html>


Další informace o konferenci Python