我正在尝试启动一个线程(不了解线程是什么),它将每秒从不同的python文件调用一个函数,并将标签的text属性设置为它返回的str。结果将是一个标签,每秒更新一次以显示当前时间。我可以使用while True
循环,但这会阻止成功的代码运行,包括Tkinter的Tk.mainloop()
。我已经在SO上看到了很多关于这个主题的问题,但到目前为止还没有得到任何解决方案。
什么python方法可以启动一个不断调用外部函数的进程?这应该在mainloop()
之前还是之后? mainloop()
循环究竟在做什么? python程序继续以某种方式Tkinter仍能检查事件?
运行Python 3.4
答案 0 :(得分:3)
我就是这样做的。嗯,不,我可能将它包装成一个类并实例化该类,但我真的只是从the linked question
中窃取整个布料import tkinter as tk
import customfunc
def run():
root = tk.Tk()
s_var = tk.StringVar()
tk.Label(root, textvariable = s_var).pack()
def update_time():
s_var.set(customfunc.func())
root.after(1000, update_time)
update_time()
root.mainloop()
if __name__ == "__main__":
run()