用 Eric6 與 PyQt5 結合,很是方便的實現界面與邏輯分離,知足python的極速GUI編程,你只須要關注程序的邏輯實現,而不須要在界面上花不少時間。python
能夠說這是一對GUI開發完美的組合!編程
爲了方便使用在正式開始以前咱們先簡單配置一下Eric6的項目工做區瀏覽器
配置Eric6編輯器
打開Eric6函數
選擇菜單欄 設置-首選項工具
在左側列表中選擇項目-多重項目,點擊右側圖標後選定硬盤中的一個位置,我這裏是F:\Python\PyQt5文件夾。選好後點擊右下方的OK按鈕。測試
簡單配置後,讓咱們正式開始體驗極速GUI開發ui
實例設計
創建項目3d
打開Eric6,菜單欄中選擇項目-新建
在項目屬性對話框中的項目名稱中輸入Hello,你會發現右下方的OK按鈕不可用。究其緣由是項目文件夾中顯示的是咱們剛設置的多重項目工做區目錄,也就是說在該目錄下能夠存在多個項目。多個項目混在一塊兒確定是不行的了,還要將它們用文件夾區分開來,簡而言之就是該目錄下的每一個文件夾就是一個項目(固然了,本身胡亂建立的文件夾確定不是了)。找到緣由後咱們就能夠解決問題了。
點擊項目文件夾後面的圖標
在打開的選擇項目文件夾對話框中右鍵點擊空白處,在彈出的菜單中選擇新建-文件夾
更改新建文件夾的名稱爲Hello(通常與項目名稱同),選中該文件夾後點擊右下方的選擇文件夾按鈕
回到項目屬性對話框後能夠看到項目文件夾已變成F:\Python\PyQt5\Hello,同時右下角的OK按鈕已顯示可用。
點擊OK按鈕後出現一個提示框,是否將已有文件添加到項目中?雖然該項目文件夾下尚未任何文件,可是這裏選擇Yes,由於我曾經選擇No後到運行腳本時發現不能執行該功能。
點擊Yes後在彈出的文件類型關聯對話框直接OK
觀察程序主界面的標題欄發現顯示Hello – eric6。在項目瀏覽器的頂部源代碼標籤裏自動爲咱們生成一個_init_.py文件,該文件中沒有任何代碼,咱們不用去理會。
建立窗體
點擊源代碼標籤右邊的窗體標籤,在標籤下面的空白處右鍵點擊,彈出的菜單選擇新建窗體
彈出新建窗體對話框,能夠選擇其它窗體類型,這裏咱們使用默認對話框類型,點擊OK按鈕
在彈出的新建窗體保存對話框中能夠看到程序已將路徑定位到項目文件夾下,輸入文件名後點擊保存按鈕
在Eric6的窗體標籤下能夠看到程序已自動建立了HelloWindow.ui文件
設計窗體
點擊上一步的保存按鈕後,計算機會直接打開Qt設計師,並自動將HelloWindow.ui加載到程序中
在左側的Widget Box裏找到Push Button控件,用鼠標左鍵按住該控件不放,拖拽到HelloWindow.ui的設計窗體。拖拽兩個Push Button控件到窗體
再找到Label控件,拖拽一個該控件到窗體
在程序的右側觀察對象查看器與屬性編輯器。使用對象查看器能夠快速選取窗體中的控件,屬性編輯器能夠編輯修改窗體、控件的各類屬性。
利用對象查看器選擇咱們剛拖拽的三個控件,分別將它們的objectName屬性更改爲:
分別將它們的text屬性更改爲:
編輯信號/槽
接下來給關閉按鈕添加退出程序的命令。在Qt設計師中,能夠很直觀的爲控件添加事件命令,在PyQt5中這種方式添加的事件命令被稱爲信號/槽。(注:信號/槽機制是PyQt獨有的信號傳遞機制,使用很是方便)
點擊工具欄的編輯信號/槽圖標
鼠標移動到關閉控件上面,左鍵按下拖拽處紅色地線標誌後鬆開鼠標
彈出配置連接窗口,在該窗口中勾選顯示從QWidget繼承的信號和槽
在左側列表選擇clicked(),在右側列表選擇close()。
這個操做的意義爲:當點擊關閉按鈕時,執行關閉命令
點擊OK後能夠看到剛選擇的兩項已連接附加到關閉按鈕上
點擊工具欄中的保存按鈕後關閉Qt設計師程序
編譯測試
回到Eric6中,右鍵點擊HelloWindow.ui文件,在彈出的菜單中選擇編譯窗體
稍等片刻後程序會提示編譯成功
返回源代碼標籤能夠發現項目中多了一個Ui_HelloWindow.py文件,雙擊該文件能夠查看咱們設計好的窗體代碼
點擊菜單欄的開始-運行腳本(或直接按鍵盤F2鍵)
在彈出的運行腳本對話框直接OK
OK後便可看到咱們剛在Qt設計師中設計的窗體,點擊關閉按鈕
彈出對話框中直接OK,便可關閉該程序
進一步完善程序
到如今咱們沒有編寫一句代碼便可實現了程序的顯示與退出
接下來咱們手動給肯定按鈕添加事件命令
在Eric6中的項目瀏覽器中找到HelloWindow.ui文件,右鍵點擊該文件,彈出菜單中選擇生成對話框代碼
在彈出的窗體代碼產生器窗口中點擊新建
彈出新建對話框類中輸入類名後點擊OK
回到窗體代碼產生器窗口後展開Button_ok(QPushButton),勾選on_Button_ok_clicked(),點擊OK
在項目瀏覽器中能夠看到源代碼標籤下又多了一個HelloWindow.py文件
雙擊該文件查看程序內容。若如今F2,程序將會報錯,將
from .Ui_HelloWindow import Ui_Dialog
中.Ui前面的點去掉
from Ui_HelloWindow import Ui_Dialog
保存後若F2,發現仍是不行,程序一閃而過。給源碼添加如下內容
保存後F2,沒問題了,能夠點擊肯定按鈕後仍是會報錯,是由於咱們尚未告訴程序點擊肯定按鈕後程序作出什麼反應,修改on_Button_ok_clicked函數以下
保存後F2,點擊肯定後Label內容顯示會變成這是個人第一個 PyQt5 程序,一切正常
附錄與後記
附圖
附加圖:Label控件的位置與寬度
附加圖:完成後的文件
後記
雖然咱們經過這個實例可以感覺獲得PyQt5與Eric6結合使用的強大功能與極速GUI開發的能力非比尋常,但是對於剛接觸PyQt5與Eric6的童鞋來講,要想發揮PyQt5與Eric6的強大功能與極速開發也是癡人說夢,究其緣由是PyQt5與Eric6的結合讓咱們只用少許的代碼編寫就能夠實現不少強大的功能,幾乎底層的代碼都不用去本身編寫,所以,PyQt5真正強大的內容離咱們很遠。
這個實例就像一層窗戶紙被捅破了,可是咱們根本就邁不過去。因此若要真的學會PyQt5咱們還需多學些PyQt5的底層內容,多手動編寫一些代碼。當隨着咱們的PyQt5水平不斷提升,到那時咱們會發現PyQt5與Eric6結合使用纔是如虎添翼,馳騁在程序的海洋。