2013-02-02 205 views
-1

我一直在做正常的python腳本多年,但最近不得不進入GUI(使用Tkinter)。簡而言之,我有一個基本的Tk窗口,它帶有一個啓動/停止按鈕,它應該調用功能Foo()。函數Foo()包含一個while True雖然,這將導致UI永遠鎖定。使用Python Tkinter GUI進行長時間運行的進程

我想知道如果我能從這裏得到一些指導。我應該使用蟒蛇multiprocessing工具嗎?我也在考慮Twisted/Gevent /線程,但我認爲它們不適合這個任務(可能是錯誤的)。

謝謝!

+0

您尚未提供足夠詳細的關於您的任務是什麼以及您想要完成什麼。 –

+0

你想要做什麼真正的問題? Foo毫無疑問不是你真正想做的事情。如果您可以描述Foo的真實本質,我們可能能夠更好地爲您服務,因爲對於具有無限循環的虛擬Foo有效的方法可能無法解決您的實際問題。 –

+0

我試圖保持這個邏輯儘可能脫離這個UI的一塊。其次,Foo()不斷監視數據庫的工作,然後提出一個外部API請求。 API工作的方式是使用while while來讀取事件。這些循環在它們中間有很小的睡眠,所以它實際上並沒有撞擊CPU或者真正的阻塞。 –

回答

1

我最終使用了python的multiprocessing庫。我在一個新過程中開始Foo()並開始。當按下停止按鈕時,它終止子過程。

相關問題