[python] Gtk LED on/off (začiatočník)
lukas na sliacky.eu
lukas na sliacky.eu
Pondělí Březen 17 22:53:16 CET 2014
Ahojte,
v Pythone som úplný začiatočník a chcem urobi» program, ktorý simuluje zapínanie a vypínanie LEDiek v závislosti na ToggleButtonoch.
Momentálne mám hotové toto:
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)
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)
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)
okno.attach(img_LED_off, 1, 2, 0, 1)
okno.attach(img_LED_on, 1, 2, 1, 2)
#~ okno.attach(img_LED_off, 1, 2, 2, 3)
#~ okno.attach(img_LED_on, 1, 2, 3, 4)
def LED_OnOff(self, okno, name):
if okno.get_active():
status = "on"
else:
status = "off"
img_LED=0
print("Tlačítko LED", name, "zmenilo stav na", status)
app = LedControl()
app.connect("delete-event", Gtk.main_quit)
app.show_all()
Gtk.main()
ale nedarí sa mi rozchodi» svietenie LEDiek (LED_on.png / LED_off.png) na pozíciách vedµa jednotlivých tlačítok (LED 1 je vedµa tlačítka LED 1).
Tieľ sa chcem spýta», prečo sa načítaný obrázok zobrazuje len jeden krát. Napr. keď chcem načíta» obrázok LED_on.png 2x pod sebou, zobrazí sa vľdy len raz:
okno.attach(img_LED_on, 1, 2, 0, 1)
okno.attach(img_LED_on, 1, 2, 1, 2)
(Spodný obrázok sa nezobrazuje.)
Naąiel by sa niekto, kto by mi vedel poradi»? (Ak sú potrebné dodatočné informácie, rád ich obratom poskytnem.)
Ďakujem.
Daląí informace o konferenci Python