Python+PyQt5+Qt Designer+PyCharm實現一個多線程的GUI

Python+PyQt5+Qt Designer+PyCharm實現一個多線程的GUI

在GUI的設計中,一定會遇到多線程的設計。多線程去處理事情,在有些設計裡面那個必然的。先看看這樣的一個例子:

Python+PyQt5+Qt Designer+PyCharm實現一個多線程的GUI

這是我前幾天的完成的一個串口調試助手的圖。我們知道當我們打開串口的時候,數據接收區就可能有數據的反饋,然而在此時,我們還必須保證其它按鈕的功能。很典型這個地方需要使用兩個線程來完成這個操作。所以多線程的學習將是必要的。

下面我們就開始講demo了:

1.打開Qt Designer佈局這樣一些控件,我就不詳細介紹怎麼操作的了。如圖:

Python+PyQt5+Qt Designer+PyCharm實現一個多線程的GUI

2.將.ui轉化成.py

3.新建一個.py來實現邏輯的控制:

我們使用3個互斥的按鈕來控制這個進度條,當點擊開始的時候,進度條開始移動,並且開啟另外一個線程,也開始計數,但點擊停止的時候,進度條停止計數,當點擊清除的時候,進度條清0,這兩個操作對另外開啟的呢個線程沒有任何影響。

  • 其實也很簡單給大家一個開啟一個線程的模板類:

Python+PyQt5+Qt Designer+PyCharm實現一個多線程的GUI

這個線程裡面要實現的動作就可以在run這個函數里面寫了。

  • 開啟這個線程:

Python+PyQt5+Qt Designer+PyCharm實現一個多線程的GUI

  • 終止線程

Python+PyQt5+Qt Designer+PyCharm實現一個多線程的GUI

  • 可能需要需要給大家完整的代碼,才能看的更清楚

  1. GUI的代碼:

Python+PyQt5+Qt Designer+PyCharm實現一個多線程的GUI

2.邏輯代碼

Python+PyQt5+Qt Designer+PyCharm實現一個多線程的GUI


分享到:


相關文章: