我的代码需要运行一个程序,该程序将下载图像,并将无限期运行,直到被告知停止。问题是让Tkinter窗口保持活动状态,所以我运行代码,它开始工作,但Tkinter窗口被冻结。
我试过穿线,但很难理解。注释掉的部分是我以前尝试过的线程,但不起作用。而且root.update_idletasks()
应该刷新小部件,但这不起作用
def mainmenuControls(menuState):
if menuState == "start" and selectionsExist():
mainMenu("started")
subprocess.run("run.bat", shell=True)
root.update_idletasks()
#thread = threading.Thread(target=subprocess.run("console.pyw", shell=True))
#thread.start()
mainMenu()
这里发生的是
anewprocess
函数将在一个新线程中运行。 我想这可能会解决你的问题请注意,所有要给线程的参数都应该是元组。
例如:
Thread(target=somefunction,args=(arg1,arg2,arg3))
如果您想了解有关线程的更多信息,请参阅此https://www.geeksforgeeks.org/multithreading-python-set-1/
相关问题 更多 >
编程相关推荐