Python Tkinter在线程或主应用程序中?

时间:2012-10-12 14:43:08

标签: python tkinter

我正在写一个Tkinter应用程序,它执行一些长时间运行。为了防止Tkinter窗口挂起,我引入了线程: - 一个用于执行长时间运行操作的线程,第二个线程用于根据QUEUE更新GUI,这将由长时间运行的操作填充。现在我想在一个单独的线程而不是主线程中运行Tkinter mainloop,原因是我想更新GUI的状态(配置一些按钮),只有在长时间运行的线程完成后才会这样。如果我在主线程中运行Tkinter主循环,它将不会等待长时间运行的线程完成并将在它之前更新GUI。因此,如果我在单独的线程中运行Tkinter主循环并且在主循环中等待长时间运行的线程在其他更新之前完成,那么它是否安全?还有其他任何想法吗?

1 个答案:

答案 0 :(得分:1)

据我了解,tk需要在主线程中运行。