Поэтому я пытаюсь написать программу, в которой пользователь находится на экране в графическом интерфейсе Tkinter, и хочу, чтобы система запускалась с самого начала, если физическая кнопка не нажата.
def start():
#creating instance
window = Tk()
def btnclicked(): #ignore this name as its for another button
def endgame():
lbltitleend = Label(window, text="Press the button within 5 seconds to quit or the game will restart.", font=("Arial bold", 15), fg="white", bg="black", pady= 15)
lbltitleend.pack()
for objectx in objects:
objectx.destroy()
def buttonpress():
while True:
time.sleep(5)
if (GPIO.input(22) == True):
window.destroy()
print("Thanks for playing!")
del objects[:]
else:
start()
window.after(500, buttonpress) # Need this so that the program doesnt stall waiting for button to be pressed, and executes everything before the button can be pressed
Так что это просто заканчивается тем, что запускается, и поэтому через 5 секунд времени. Сон заканчивается тем, что он просто запускает программу снова и вызывает новое окно графического интерфейса, которое я не возражаю, но это не то, что я хочу.
Я хочу, чтобы программа ожидала нажатия кнопки, и если она не нажата в течение 5 секунд, я хочу, чтобы она перезапустилась.
Есть ли способ сделать это?