2017-02-23 29 views
0

我有Python/Tkinter應用程序,它在2-3個時間點將主屏幕鎖定30秒到幾分鐘,因爲它有很多它需要做的事情。Python顯示給用戶Tkinter應用程序狀態

我記得在那段時間裏,如果不是在任務持續期間鎖定主屏幕,我可以將應用程序的計算密集部分與主線程,並向用戶顯示某種反饋,以瞭解發生了什麼......無論是模態狀態窗口還是旋轉貓動畫。

我很遺憾有點失落,因爲乾淨的做法是什麼。

回答

0

您可以查看concurrent.futures,multiprocessing,threading並使用tkinter .after()方法。我最近發佈了我的問題,answer使用concurrent.futures。我已經成功實施了Mark Summerfield書中描述的模型,我建議您試試concurrent.futures。您仍然需要1個或2個來自threadingmultiprocessing的命令。我的代碼運行良好,tkinter沒有延遲問題。注意:這個工作代碼比example code in my answer更詳細,我用這個代碼說明可以使用python類來承載concurrent.future代碼,而不是單獨的python文件。希望你找到適合你的編碼需求的東西。

發生以查看與回答您的問題有關的最近答案。 .after()threadingexample。它有其他鏈接。