我有Python/Tkinter應用程序,它在2-3個時間點將主屏幕鎖定30秒到幾分鐘,因爲它有很多它需要做的事情。Python顯示給用戶Tkinter應用程序狀態
我記得在那段時間裏,如果不是在任務持續期間鎖定主屏幕,我可以將應用程序的計算密集部分與主線程,並向用戶顯示某種反饋,以瞭解發生了什麼......無論是模態狀態窗口還是旋轉貓動畫。
我很遺憾有點失落,因爲乾淨的做法是什麼。
我有Python/Tkinter應用程序,它在2-3個時間點將主屏幕鎖定30秒到幾分鐘,因爲它有很多它需要做的事情。Python顯示給用戶Tkinter應用程序狀態
我記得在那段時間裏,如果不是在任務持續期間鎖定主屏幕,我可以將應用程序的計算密集部分與主線程,並向用戶顯示某種反饋,以瞭解發生了什麼......無論是模態狀態窗口還是旋轉貓動畫。
我很遺憾有點失落,因爲乾淨的做法是什麼。
您可以查看concurrent.futures
,multiprocessing
,threading
並使用tkinter .after()
方法。我最近發佈了我的問題,answer使用concurrent.futures
。我已經成功實施了Mark Summerfield書中描述的模型,我建議您試試concurrent.futures
。您仍然需要1個或2個來自threading
和multiprocessing
的命令。我的代碼運行良好,tkinter沒有延遲問題。注意:這個工作代碼比example code in my answer更詳細,我用這個代碼說明可以使用python類來承載concurrent.future代碼,而不是單獨的python文件。希望你找到適合你的編碼需求的東西。
發生以查看與回答您的問題有關的最近答案。 .after()
與threading
example。它有其他鏈接。