Python 为什么';标签文本更改?
我想更改文本,但它不起作用。Python 为什么';标签文本更改?,python,function,tkinter,Python,Function,Tkinter,我想更改文本,但它不起作用。 我试过换位置,但似乎不起作用。 感谢使用@jasonharper的建议,在调用tsk0\u start()之前,先调用root.update\u idletasks() 例如: def tsk0_start(): 状态0.配置(text=“正在运行(1)”) root.update_idletasks() backend.task0(*backend.tsk0_arg) 您发布的代码应该有效。您能告诉我更多关于task0的信息吗?跑步需要多长时间?您还知道,您可以将
我试过换位置,但似乎不起作用。
感谢使用@jasonharper的建议,在调用
tsk0\u start()
之前,先调用root.update\u idletasks()
例如:
def tsk0_start():
状态0.配置(text=“正在运行(1)”)
root.update_idletasks()
backend.task0(*backend.tsk0_arg)
您发布的代码应该有效。您能告诉我更多关于task0
的信息吗?跑步需要多长时间?您还知道,您可以将这一长行替换为:backend.task0(*backend.tsk0_arg)
。task0是一个在填写表单后调用的函数,大约需要30秒。您能提供一个代码的最小示例吗?尝试将task0
调用放入另一个线程。你说的“它不工作”是什么意思?你的应用程序停止响应了吗?它只响应它不更改文本如果运行task0()
需要30秒,对标签的任何更改都会延迟那么长时间-因为你根本没有给Tkinter处理更新的机会。在调用task0()
之前,尝试放置类似于root.update\u idletasks()
的内容。
def tsk0_start():
status0.configure(text="Running (1)")
backend.task0(backend.tsk0_arg[0],backend.tsk0_arg[1],backend.tsk0_arg[2],backend.tsk0_arg[3],backend.tsk0_arg[4],backend.tsk0_arg[5],backend.tsk0_arg[6],backend.tsk0_arg[7],backend.tsk0_arg[8],backend.tsk0_arg[9],backend.tsk0_arg[10],backend.tsk0_arg[11],backend.tsk0_arg[12],1)