如何让一个Tkinter按钮循环一段时间,直到按下另一个按钮



所以我基本上想做的是,当我点击按钮一时,我希望程序每秒打印一次go,直到点击按钮二,但实际情况是,当运行代码时,它只打印go,即使我没有点击按钮一。我正在尝试这样做,因为我想用我的esp32做一个物联网项目,在那里我每15秒获得一次网速,并将数据发送到我的esp 32,程序会这样做,直到我/用户点击输入/按钮使其停止,所以如果你们知道我可以做这件事的更好方法,将不胜感激

import time
import tkinter as tk
user_input=""
def onclick1():
while user_input!="stop":
print("go")
time.sleep(1)
def onclick2():
user_input="stop"

root=tk.Tk()
root.title("BUTTON_TEST")
btn1=tk.Button(root,text="Button 1",command=onclick2())
btn2=tk.Button(root,text="Button 2",command=onclick1())
btn1.pack()
btn2.pack()
root.mainloop()

onclick1((函数将阻塞窗口的主循环。您需要创建一个线程并在该线程中执行工作。或者,您可以在模块concurrent.futures.中使用执行器

最新更新