Я пытаюсь сделать GUI на python, чтобы управлять своим роботизированным автомобилем. Мой вопрос заключается в том, как я выполняю функцию, определяющую кнопку удержания. Я хочу переместить автомобиль, когда кнопка нажата, удерживается и останавливает автомобиль, когда кнопка отпускается.GUI Button hold down - tkinter
from Tkinter import *
hold_down = False
root = Tk()
def button_hold(event):
hold_down=true
while hold_down== True:
print('test statement')
hold_down = root.bind('<ButtonRelease-1>',stop_motor)
def stop_motor(event):
hold_down= False
print('button released')
button = Button(root, text ="forward")
button.pack(side=LEFT)
root.bind('<Button-1>',button_forward)
root.mainloop()
Я пытаюсь моделировать то, что я нашел в этом answer
я пытаюсь сделать это в while
цикле с булевым. Когда пользователь нажимает кнопку, логическое значение изменяется на True
, а код вводит цикл while. Когда пользователь отпускает кнопку, логическое значение изменяется на False
, а код выходит из цикла, но в этом коде логическое пребывание всегда истинно независимо от того, я отпустил кнопку или нет.
Редактирование: Я хочу, чтобы функция вызывалась до тех пор, пока не произойдет условие. Функция, которая будет вызываться, - hold_down(), и условие для проверки - это кнопка отпускается.
Обновление: Я нашел способ заставить его работать.
Вы можете поделиться своим решением здесь? У меня такая же проблема. –