Buttons während schleife betätigen
Verfasst: Mittwoch 13. Januar 2021, 11:48
Hallo zusammen.
Ich versuche mit einer Oberfläche aus ein paar Buttons eine Zeit festzulegen, die die Pumpe in zwei verschiedene Kammern pumpt. Während der if Schleife (bzw. der while Schleife, die ich eigentlich nutzen will) kann ich auf der Oberfläche keinen Button drücken und somit den Zustand von var nicht ändern. Ist es möglich die Oberfläche dauerhaft nutzen zu können?
Import time
import tkinter as tk
from RPi import GPIO
from functools import partial
SETTINGS = {
"PUMPE": 17,
"VALVEL": 18,
"VALVER": 27
}
def start(var):
if var.get() == 1:
print('mittel')
GPIO.setup(SETTINGS["PUMPE"], GPIO.OUT, initial=GPIO.LOW)
GPIO.setup(SETTINGS["VALVEL"], GPIO.OUT, initial=GPIO.LOW)
time.sleep(3)
GPIO.setup(SETTINGS["VALVEL"], GPIO.OUT, initial=GPIO.HIGH)
GPIO.setup(SETTINGS["VALVER"], GPIO.OUT, initial=GPIO.LOW)
time.sleep(3)
GPIO.setup(SETTINGS["VALVER"], GPIO.OUT, initial=GPIO.HIGH)
GPIO.setup(SETTINGS["VALVEL"], GPIO.OUT, initial=GPIO.LOE)
if var.get() == 2:
print('kurz')
def main():
GPIO.setmode(GPIO.BM)
GPIO.setup(SETTINGS["PUMPE"], GPIO.OUT, initial=GPIO.HIGH)
root = tk.Tk()
var = tk.IntVar(root, 2)
tk.Button(root, text="Start", bg="#FFFF00", width=20, command=partial(start, var), indicatoron=0).pack()
tk.Radiobutton(root, text="60min", bg="#FFFF00", width=5, variable=var, value=1, indicatoron=0).pack()
tk.Radiobutton(root, text="30min", bg="#FFFF00", width=5, variable=var, value=2, indicatoron=0).pack()
root.mainloop()
if __name__ == '__main__':
main()
Ich versuche mit einer Oberfläche aus ein paar Buttons eine Zeit festzulegen, die die Pumpe in zwei verschiedene Kammern pumpt. Während der if Schleife (bzw. der while Schleife, die ich eigentlich nutzen will) kann ich auf der Oberfläche keinen Button drücken und somit den Zustand von var nicht ändern. Ist es möglich die Oberfläche dauerhaft nutzen zu können?
Import time
import tkinter as tk
from RPi import GPIO
from functools import partial
SETTINGS = {
"PUMPE": 17,
"VALVEL": 18,
"VALVER": 27
}
def start(var):
if var.get() == 1:
print('mittel')
GPIO.setup(SETTINGS["PUMPE"], GPIO.OUT, initial=GPIO.LOW)
GPIO.setup(SETTINGS["VALVEL"], GPIO.OUT, initial=GPIO.LOW)
time.sleep(3)
GPIO.setup(SETTINGS["VALVEL"], GPIO.OUT, initial=GPIO.HIGH)
GPIO.setup(SETTINGS["VALVER"], GPIO.OUT, initial=GPIO.LOW)
time.sleep(3)
GPIO.setup(SETTINGS["VALVER"], GPIO.OUT, initial=GPIO.HIGH)
GPIO.setup(SETTINGS["VALVEL"], GPIO.OUT, initial=GPIO.LOE)
if var.get() == 2:
print('kurz')
def main():
GPIO.setmode(GPIO.BM)
GPIO.setup(SETTINGS["PUMPE"], GPIO.OUT, initial=GPIO.HIGH)
root = tk.Tk()
var = tk.IntVar(root, 2)
tk.Button(root, text="Start", bg="#FFFF00", width=20, command=partial(start, var), indicatoron=0).pack()
tk.Radiobutton(root, text="60min", bg="#FFFF00", width=5, variable=var, value=1, indicatoron=0).pack()
tk.Radiobutton(root, text="30min", bg="#FFFF00", width=5, variable=var, value=2, indicatoron=0).pack()
root.mainloop()
if __name__ == '__main__':
main()