使用PyQt5編寫一個簡單的GUI程序(pyside 有 pyside-uic 把ui文件轉成py文件,pyside-rcc 把qrc文件轉成 py文件導入就好了)

我作Python窗口界面編程時,常常使用PyQt進行設計。這裏簡單敘述一下使用PyQt5製做一個簡單的圖形界面的流程html

PyQt的簡介以及開發環境的搭建在此很少贅述。python

 

1.       打開Qt Designer,新建一個Dialog Without Buttons編程

使用PyQt5編寫一個簡單的GUI程序

 

2.       從左側的Widget Box拖入一個Label,一個Text和一個Buttonapp

使用PyQt5編寫一個簡單的GUI程序

 

3.       雙擊控件能夠改變其上的文本函數

使用PyQt5編寫一個簡單的GUI程序

4.       保存文件,命名爲test.ui測試

使用PyQt5編寫一個簡單的GUI程序

 

5.       使用pyuic5將.ui文件轉換爲.py文件。方法:打開命令提示符,進入test.ui所在文件目錄,輸入命令pyuic5 test.ui –o test.py並執行(若是使用的是pyqt4的話,前面輸入的就應當是pyuic4),執行完成後會看到一個python腳本文件test.py網站

使用PyQt5編寫一個簡單的GUI程序

 

6.       生成完整的GUI程序。打開生成的test.py文件,此時若是直接運行是不能生成GUI界面的,須要添加一些代碼才能運行。首先在文件開頭添加「import sys」。而後在文件末尾添加主函數:ui

url

if __name__=='__main__':spa

    app=QtWidgets.QApplication(sys.argv)

    Form=QtWidgets.QWidget()

    ui=Ui_Dialog()

    ui.setupUi(Form)

    Form.show()

    sys.exit(app.exec_())

我在作PyQt生成第一個界面的時候,借鑑了PyQt4的GUI添加方法http://jingyan.baidu.com/article/a3761b2ba2b8581576f9aa98.html,可是在測試時發現PyQt4的要寫的代碼與PyQt5在一處有所不一樣。上面百度經驗的網站上寫的須要添加的代碼有一行是「Form=QtGui.QWidget()」。但據我測試,使用pyqt5的話那一行代碼應該改成「Form=QtWidgets.QWidget()」。

添加完成後再運行就能夠看到GUI界面了,按照以前所寫的,GUI界面上應該有一Label,一個Line Edit和一個Button。

這樣就完成了一個簡單的Python GUI程序了。

使用PyQt5編寫一個簡單的GUI程序

 

7.       添加事件。添加的內容是按下按鈕後,Label上的文本變成Lie Edit裏面輸入的內容。首先在Ui_Dialog類的SetupUi方法中添加代碼「self.pushButton.clicked.connect(self.A)」,意思是按下按鈕後執行Ui_Dialog類的方法「A」。而後在Ui_Dialog中添加方法「A」:

    def A(self,Dialog):

        try:

            EditText=self.lineEdit.text()

            _translate = QtCore.QCoreApplication.translate

            self.label.setText(_translate("Dialog", EditText))

        except:

            print(sys.exc_info())

運行程序的效果是:在Line Edit上輸入一些內容,按下按鈕,Label上的文本就會變爲LineEdit上輸入的內容。

另外,編寫Python的GUI代碼時,最好每一個函數都加入try-except異常處理。由於若是GUI程序拋出未經處理的異常(好比NameError),每每並不會在控制檯上顯示「Traceback…File X,Line X …XXXError…」的錯誤信息,而是圖形界面卡死彈出Pythonw.exe已中止工做的消息,這樣很是不利於調試。

使用PyQt5編寫一個簡單的GUI程序

使用PyQt5編寫一個簡單的GUI程序


 

 

8.       最後,我在學PyQt時常常上的網站:

http://zetcode.com/gui/pyqt5/

這個網站雖然是全英文的,可是內容仍是很詳細的

另外,PyQt5的安裝包裏面有自帶教程,裏面詳細介紹了不少的控件類及其使用方法,路徑爲<</span>安裝包路徑>\doc\html

 

http://blog.sina.com.cn/s/blog_15d207b300102xi5t.html

相關文章
相關標籤/搜索