2016-04-24 38 views
0

我用PYQT4設計了一個gui。它有兩個按鈕。開始按鈕之一。它啓動一個start.py文件。另一個按鈕執行停止start.py pid的stop.py文件。Qt凍結循環的原因?

此start.py和stop.py文件位於遠程位置。我在那裏與ssh和paramiko連接。

當我點擊開始按鈕,gui凍結,從不回答。我只能通過關閉程序來擺脫這種情況。我知道這個問題。因爲start.py中有一個while循環,它永遠不會結束。

當我點擊開始按鈕等待while循環。

我想運行start.py,我不想等待循環。它必須在後臺運行等。

我該怎麼辦?我試圖用另一個.py文件觸發它。我使用了子進程方法。但沒有成功。仍然有同樣的問題。

回答

0

我找到了解決方案。我在線程中介紹了這個函數。現在其工作正常,沒有凍結或滯後。

0

看看PyQT theading。 如果您使用的是python3,您也可以使用asyncio

+0

我使用python 2.7。如果可能,我想在遠程位置執行此操作。不在gui上。 – Murat

+0

@Murat這不是一個好主意,你爲每個任務產生一個完整的python解釋器。 – user312016