Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from tkinter import Tk, Button, Label
- # zum Testen
- from gpiozero.pins.mock import MockFactory
- # Button ist schon einmal importiert worden
- # deswegen der Import mit einem anderen Namen
- from gpiozero import Button as GPIO_Button
- class GUI(Tk):
- def __init__(self, inputs):
- super().__init__()
- self.inputs = inputs
- self.labels = {}
- self.setup()
- def setup(self):
- for name, gpio_obj in self.inputs.items():
- gpio_obj.when_pressed = lambda: self.on(name)
- gpio_obj.when_released = lambda: self.off(name)
- if gpio_obj.value:
- color = "green"
- else:
- color = "red"
- label = Label(self, text=name, bg=color)
- self.labels[name] = label
- label.pack()
- Button(self, text="Beenden", command=self.destroy).pack()
- def on(self, name):
- label = self.labels[name]
- label["bg"] = "green"
- def off(self, name):
- label = self.labels[name]
- label["bg"] = "red"
- if __name__ == "__main__":
- factory = MockFactory()
- inputs = {
- "GPIO 17": GPIO_Button(17, pin_factory=factory),
- "GPIO 20": GPIO_Button(20, pin_factory=factory),
- }
- app = GUI(inputs)
- app.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement