def check():
if running == True:
if FourInRow == True:
running == False
else:
print("A")
window.after(100, check)
我尝试制作线程类,但无法正常工作。
在此先感谢!
答案 0 :(得分:0)
首先,您缺少global
语句(因为您希望更改全局running
),并且==
与=
的语法不正确:
def check():
global running
if running:
if FourInRow:
running = False
else:
print("A")
window.after(100, check)
第二,您不需要线程,因为只要window.after(...)
为running
并且True
不是FourInRow
,True
将使此代码重复。如果您需要它来超越此限制,请根据需要使window.after(...)
语句尽可能多地伸出。您可以在将代码移交给tkinter事件循环之前,通过在代码的顶层调用check()
来启动此定时事件。