生活随笔
收集整理的這篇文章主要介紹了
PyQt5学习笔记03----Qt Designer生成源码
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
下面來分析一下Qt Designer生成的源碼。
Qt Designer制作的圖形界面為
生成的代碼如下
[python]?view plaincopy
from?PyQt5?import?QtCore,?QtGui,?QtWidgets???????????????????????????????????? ?? ?? class?Ui_Form(object):???????????????????????????????????????????????????????? ????def?setupUi(self,?Form):?? ????????Form.setObjectName("Form")???????????????????????????????????????????? ????????Form.resize(400,?300)????????????????????????????????????????????????? ????????self.quitButton?=?QtWidgets.QPushButton(Form)????????????????????????? ????????self.quitButton.setGeometry(QtCore.QRect(280,?240,?75,?23))??????????? ????????self.quitButton.setObjectName("quitButton")??????????????????????????? ?? ?? ????????self.retranslateUi(Form)?? ????????QtCore.QMetaObject.connectSlotsByName(Form)??????????????????????????? ?? ?? ????def?retranslateUi(self,?Form):?? ????????_translate?=?QtCore.QCoreApplication.translate?? ????????Form.setWindowTitle(_translate("Form",?"Test"))??????????????????????? ????????self.quitButton.setText(_translate("Form",?"Quit"))???????????????????
現(xiàn)在運(yùn)行這段代碼,窗口是不會(huì)出現(xiàn)的。如何使窗口出現(xiàn)呢?下面需要添加一段代碼
[python]?view plaincopy
if?__name__=="__main__":?? ????import?sys?? ????app=QtWidgets.QApplication(sys.argv)?? ????widget=QtWidgets.QWidget()?? ????ui=Ui_Form()?? ????ui.setupUi(widget)?? ????widget.show()?? ????sys.exit(app.exec_())??
因?yàn)镼t Designer默認(rèn)繼承的object類,不提供show()顯示方法,所以我們生成一個(gè)QWidget對(duì)象來重載我們?cè)O(shè)計(jì)的Ui_Form類,達(dá)到顯示效果。
新建一個(gè)文件,導(dǎo)入我們?cè)O(shè)計(jì)的untitled?.py文件,實(shí)現(xiàn)代碼與界面分離。
[python]?view plaincopy
from?PyQt5?import?QtWidgets?? from?untitled?import?Ui_Form?? ?? class?mywindow(QtWidgets.QWidget):?? ????def?__init__(self):?? ????????super(mywindow,self).__init__()?? ????????self.new=Ui_Form()?? ????????self.new.setupUi(self)?? ?? if?__name__=="__main__":?? ????import?sys?? ?? ????app=QtWidgets.QApplication(sys.argv)?? ????myshow=mywindow()?? ????myshow.show()?? ????sys.exit(app.exec_())??
直接繼承界面類
[python]?view plaincopy
from?PyQt5?import?QtWidgets?? from?untitled?import?Ui_Form?? ?? class?mywindow(QtWidgets.QWidget,Ui_Form):?? ????def?__init__(self):?? ????????super(mywindow,self).__init__()?? ????????self.setupUi(self)?? ?? if?__name__=="__main__":?? ????import?sys?? ?? ????app=QtWidgets.QApplication(sys.argv)?? ????myshow=mywindow()?? ????myshow.show()?? ????sys.exit(app.exec_())??
總結(jié)
以上是生活随笔為你收集整理的PyQt5学习笔记03----Qt Designer生成源码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。