我有一个按钮,当按下该按钮时,该按钮应该继续打印特定短语。但是我有一个if语句,如果它读取按钮已释放,则应该打破while循环。本质上,我正在尝试创建一个gui,当按下特定按钮时,它将继续执行功能,直到该按钮在tkinter中释放为止。我认为应该有一条语句可以读取按钮的状态并知道按钮何时释放,但是我不知道它是什么。
self.button.pack(side="top")
self.vsb.pack(side="right", fill="y")
self.text.pack(side="bottom", fill="x")
self.button.bind("<ButtonPress>", self.on_press)
self.button.bind("<ButtonRelease>", self.on_release)
def on_press(self, event):
while True:
time.sleep(1)
self.log("button was pressed")
if (what do I put here):
break
答案 0 :(得分:0)
您不能在处理偶数时进入死循环。尝试改用线程。
这是一个非常简单的示例:
def on_press(self, event):
self._running = True
threading.Thread(self.my_loop).start()
def my_loop(self):
while self.running:
time.sleep(1)
print("loop is done")
def on_release(self, event):
self._running = False # this will stop the loop in the other thread...