Python快速入門系列:PyQt5 快速開發GUI-入門

打開Eric6, 在菜單欄中選擇Project=>New...

Python快速入門系列:PyQt5 快速開發GUI-入門

填寫項目名稱和保存路徑後,點擊OK按鈕後出現一個提示框,是否將已有文件添加到項目中(Add existing files to the project)?雖然該項目文件夾下還沒有任何文件,但是這裡選擇Yes。

Python快速入門系列:PyQt5 快速開發GUI-入門

點擊Yes後,在彈出的文件類型關聯對話框中直接選擇OK。

Python快速入門系列:PyQt5 快速開發GUI-入門

在項目瀏覽器的頂部源代碼標籤裡自動為我們生成一個(_init_.py)文件,該文件中沒有任何代碼,我們不用去理會。

Python快速入門系列:PyQt5 快速開發GUI-入門

在窗體選項卡中,右鍵彈出菜單,選擇新建窗體。

Python快速入門系列:PyQt5 快速開發GUI-入門

在彈出對話框中選擇Dialog

Python快速入門系列:PyQt5 快速開發GUI-入門
Python快速入門系列:PyQt5 快速開發GUI-入門

這樣就會啟動Qt Designer,如果無法啟動,可能是因版本不一樣,Eric6配置不對,可以查看我之前寫的一篇有關的文章《Python快速入門系列:Eric6無法啟動Qt Designer?》。

Python快速入門系列:PyQt5 快速開發GUI-入門

在窗體中添加一個文本標籤(label)、兩按鈕(pushButton)

Python快速入門系列:PyQt5 快速開發GUI-入門
Python快速入門系列:PyQt5 快速開發GUI-入門

設置文本標籤、兩按鈕的對象名(objectName)為:label_hello,bt_ok,bt_close

設置文本標籤、兩按鈕的文字(text)為:"顯示","確定","退出",雙擊按鈕本身或者文本標籤就可以設置。

Python快速入門系列:PyQt5 快速開發GUI-入門

給退出按鈕添加信號/槽

Python快速入門系列:PyQt5 快速開發GUI-入門
Python快速入門系列:PyQt5 快速開發GUI-入門

保存,然後關閉Qt Designer

Python快速入門系列:PyQt5 快速開發GUI-入門

回到eric 6後,發現窗體下多了個hello.ui文件,此文件本質是一個xml格式文件,不能被運行,需要右擊它,選擇:編譯窗體

Python快速入門系列:PyQt5 快速開發GUI-入門
Python快速入門系列:PyQt5 快速開發GUI-入門

如果編譯成功,會在左上角彈出成功信息,並會在源文件選項卡下多出了Ui_hello.py文件,這個是python可以運行的文件

Python快速入門系列:PyQt5 快速開發GUI-入門

雙擊Ui_hello.py,並運行,如圖:

Python快速入門系列:PyQt5 快速開發GUI-入門
Python快速入門系列:PyQt5 快速開發GUI-入門
Python快速入門系列:PyQt5 快速開發GUI-入門

運行結果,如圖,是不是有點小激動,感覺做界面開發其實也不難。

Python快速入門系列:PyQt5 快速開發GUI-入門

不過,目前只有“關閉”按鈕有功能,其它的是沒有功能的,下一步我們為"確定"按鈕添加邏輯代碼。到窗體下右擊hello.ui文件,選擇: Generate Dialog Code...(生成對話框代碼)

Python快速入門系列:PyQt5 快速開發GUI-入門
Python快速入門系列:PyQt5 快速開發GUI-入門
Python快速入門系列:PyQt5 快速開發GUI-入門
Python快速入門系列:PyQt5 快速開發GUI-入門

點擊ok,回到源文件選項卡中,會發現多了一個hello.py文件

Python快速入門系列:PyQt5 快速開發GUI-入門

點擊菜單 Start => RunScript 或者 按F2, 運行hello.py,會出現錯誤,怎麼辦?

Python快速入門系列:PyQt5 快速開發GUI-入門

這是因為錯誤是Eric6的一個bug!!!,去掉Ui前面的點號,再運行,就沒有報錯了。

Python快速入門系列:PyQt5 快速開發GUI-入門
Python快速入門系列:PyQt5 快速開發GUI-入門

不過界面還是沒有出來,為什麼?我們還需要為代碼添加一些內容,如下: ::

if __name__ == '__main__':

import sys

from PyQt5.QtWidgets import QApplication

app = QApplication(sys.argv)

dlg = Hello()

dlg.show()

sys.exit(app.exec_())

加了一段代碼後,我們就可以正常看到界面,不過,點擊“確定”按鈕後,還是沒有反應,是因為我們還沒有為按鈕修改內容,把def on_bt_ok_clicked(self)中加入: ::

self.label_hello.setText('Hello world!')

修改後的代碼如圖:

Python快速入門系列:PyQt5 快速開發GUI-入門

保存,運行,最終效果如圖:

Python快速入門系列:PyQt5 快速開發GUI-入門
Python快速入門系列:PyQt5 快速開發GUI-入門

完結,是不是覺得用PyQt5與Eric6配合開發界面其實不難?


分享到:


相關文章: