【发布时间】:2020-09-12 15:02:00
【问题描述】:
我试图在 Tkinter 中创建一个循环,所以我很自然地转向了 .After。这是我第一次使用 Tkinter,也是我第一次使用 .After。尽管检查了至少十几个网站,但我无法让它工作。这是我的代码的简化再现:
import tkinter as tk
from tkinter import *
from tkinter.ttk import *
root = tk.Tk
a = 5
def Func():
while not a == 5:
print ('A does not equal five.')
a += 1
root.after(0, Func)
root.mainloop()
但是,它根本不起作用。主循环不会触发,也不会出现任何错误。
如果这很重要,我会在 Chromebook 上的 IDLE 上编写代码。提前致谢。
注意:我的原始代码确实打开了框架、小部件、画布等,这只是一个快速简化的版本。
【问题讨论】:
-
在您的情况下使用
after()的目的是什么?由于after(0, ...)没有意义,你可以直接调用Func()。 -
mainloop 没有触发:你没有获得根窗口吗?这:
while not a == 5:evals 为True,因此没有`print(...`
标签: python tkinter while-loop