在条件未在线程循环中中断的情况下进行Tkinter

时间:2019-04-10 16:07:06

标签: python multithreading tkinter while-loop

我有一个tkinter组合框,具有三个设置(一个为“关闭”),一个“开始”按钮和一个“停止”按钮。

对于一种设置,我需要一个while循环在后台运行,同时发生其他事情。然后,当单击“停止”按钮时,我需要它停止(转到“关闭”)。

我的代码的相关部分如下:

def check_WATERbox(event):
    global water
    water = WATERbox.get()

def water_pattern():
    while water == "24hr Pattern":
        <do stuff>

def start():
    if water == "24hr Pattern":
        _thread.start_new_thread(water_pattern, ())

def stop():
    WATERbox.set("Off")
    water = WATERbox.get()
    print(water)

stop()函数起作用,因为它在视觉上更改了下拉框并显示“关闭”。 while循环不断循环。

到目前为止,我已经尝试在while循环中运行check_WATERbox(这样循环就知道它已关闭)以及if / while的许多变体。

有人建议退出while循环吗?

谢谢, 汤姆

0 个答案:

没有答案