日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

PyQt5学习笔记03----Qt Designer生成源码

發(fā)布時(shí)間:2025/3/15 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PyQt5学习笔记03----Qt Designer生成源码 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

下面來分析一下Qt Designer生成的源碼。


Qt Designer制作的圖形界面為



生成的代碼如下

[python]?view plaincopy
  • from?PyQt5?import?QtCore,?QtGui,?QtWidgets??????????????????????????????????#導(dǎo)入模塊??
  • ??
  • ??
  • class?Ui_Form(object):??????????????????????????????????????????????????????#創(chuàng)建窗口類,繼承object??
  • ????def?setupUi(self,?Form):??
  • ????????Form.setObjectName("Form")??????????????????????????????????????????#設(shè)置窗口名??
  • ????????Form.resize(400,?300)???????????????????????????????????????????????#設(shè)置窗口大小??
  • ????????self.quitButton?=?QtWidgets.QPushButton(Form)???????????????????????#創(chuàng)建一個(gè)按鈕,并將按鈕加入到窗口Form中??
  • ????????self.quitButton.setGeometry(QtCore.QRect(280,?240,?75,?23))?????????#設(shè)置按鈕大小與位置??
  • ????????self.quitButton.setObjectName("quitButton")?????????????????????????#設(shè)置按鈕名??
  • ??
  • ??
  • ????????self.retranslateUi(Form)??
  • ????????QtCore.QMetaObject.connectSlotsByName(Form)?????????????????????????#關(guān)聯(lián)信號(hào)槽??
  • ??
  • ??
  • ????def?retranslateUi(self,?Form):??
  • ????????_translate?=?QtCore.QCoreApplication.translate??
  • ????????Form.setWindowTitle(_translate("Form",?"Test"))?????????????????????#設(shè)置窗口標(biāo)題??
  • ????????self.quitButton.setText(_translate("Form",?"Quit"))?????????????????#設(shè)置按鈕顯示文字??


  • 現(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ò),歡迎將生活随笔推薦給好友。