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)