1. 程式人生 > >python PyQt5初級教程hello world

python PyQt5初級教程hello world

PyQt5初級教程hello world

本文主要介紹環境的安裝和用QT拖控制元件實現一個簡單的hello程式

PyQt5安裝

經過我的多次嘗試,發現python3.5才能順利裝上PyQt5。安裝方法很簡單,一條命令搞定
pip install pyqt5
可以用如下程式碼測試環境是否安裝成功,執行成功會出現一個視窗:

from PyQt5 import QtWidgets, QtGui
import sys

app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QWidget();
window.show()
sys.exit(app.exec_())

QT Creator安裝

因為我們需要使用Qt design來設計介面,所以需要安裝Qt Creator。直接官網下載安裝就好,比較大,需要耐心等待。

QT Creator繪製介面

  • 開啟Qt Creator,新建一個工程,QT -> Qt設計師介面類 -> Widget -> 儲存


    預設儲存就好,不用管儲存為form.cpp哪裡,因為我們只需要form.ui這個檔案

  • 主介面簡單介紹

  • 拖動控制元件繪製我們的視窗,改變預設值

  • 編輯訊號和槽,選擇訊號槽編輯,選中button新增監聽clicked事件,槽函式我們自定義為hello()


  • 然後儲存

  • 把form.ui檔案編譯為form.py檔案

    去之前儲存form.ui的目錄,shift+右鍵,在當前路徑開啟控制檯,執行如下命令
    pyuic5 form.ui -o form.py
    如果找不到pyuic5可執行程式,檢查一下環境變數是否正確

至此介面已經生成,後面就是使用form.py這個介面了

使用Qt Design生成的介面

開啟這個form.py這個檔案,可以看到生成了Ui_Form這個類,有一些我們新增的控制元件。我們只需要匯入類,做初始化,然後編寫自定義的槽函式就可以了。
程式碼如下:

from PyQt5 import QtWidgets, QtGui
import sys

from form import Ui_Form    #
匯入生成form.py裡生成的類
class mywindow(QtWidgets.QWidget,Ui_Form): def __init__(self): super(mywindow,self).__init__() self.setupUi(self) #定義槽函式 def hello(self): self.textEdit.setText("hello world") app = QtWidgets.QApplication(sys.argv) window = mywindow() window.show() sys.exit(app.exec_())


點選之後按鈕之後編輯框變為hello world

幫助文件使用

有了上面的簡單例子,就可以依葫蘆畫瓢做一些簡單的應用了。但對一個控制元件,往往需要了解它的屬性方法,才能方便我們程式設計。
官方文件網站 http://pyqt.sourceforge.net/Docs/PyQt5/index.html 開啟點進去之後是C++的,覺得很納悶。後面就理解了,pyqt5安裝的時候會安裝SIP,SIP的作用就是讓python呼叫C,C++函式,所以pyqt5實則就是呼叫了QT C++的庫,那麼看QT C++庫的幫助文件也一樣。
拿上面例子的QTextEdit類來說,可以直接在QT Creator裡看(畢竟是離線的)。幫助 -> Qt5.7.1 Reference Documentation -> class,然後搜尋就可以了

我們就可以在Public Slots裡面找到setText方法了