翼度科技»论坛 编程开发 python 查看内容

PyQT5之使用QT Designer创建基本窗口方式

6

主题

6

帖子

18

积分

新手上路

Rank: 1

积分
18
环境配置


  • pip install pyqt5 (安装pyQT5库):pyuic5包含在内
  • pip install pyqt5-tools (安装QT-Designer)

使用QT Designer布局窗体



UI文件的编译

将.UI文件编译为.PY文件(CMD命令行中):
  1. pyuic5 xxx.ui -o xxx.py  

  2. #不可以存在中文!
复制代码
打开编译后的.py文件,新建SLOT()函数并修改连接函数:

在末尾添加运行代码:
  1. if __name__ == "__main__":   
  2.         import sys   
  3.         app = QtWidgets.QApplication(sys.argv)   
  4.         MainWindow = QtWidgets.QMainWindow()   
  5.         ui = Ui_MainWindow()   
  6.         ui.setupUi(MainWindow)   
  7.         MainWindow.show()   
  8.         sys.exit(app.exec_())
复制代码
编译后的.PY源码
  1. # -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'C:\Users\Geclipse\Desktop\untitled.ui'## Created by: PyQt5 UI code generator 5.11.3## WARNING! All changes made in this file will be lost! from PyQt5 import QtCore, QtGui, QtWidgets class Ui_MainWindow(object):    def setupUi(self, MainWindow):        MainWindow.setObjectName("MainWindow")        MainWindow.resize(800, 600)        MainWindow.setMouseTracking(False)        MainWindow.setWindowOpacity(1.0)        self.centralwidget = QtWidgets.QWidget(MainWindow)        self.centralwidget.setObjectName("centralwidget")        self.label = QtWidgets.QLabel(self.centralwidget)        self.label.setGeometry(QtCore.QRect(300, 0, 161, 71))        font = QtGui.QFont()        font.setPointSize(12)        font.setBold(True)        font.setItalic(False)        font.setUnderline(False)        font.setWeight(75)        font.setStrikeOut(False)        self.label.setFont(font)        self.label.setObjectName("label")        self.textEdit = QtWidgets.QTextEdit(self.centralwidget)        self.textEdit.setGeometry(QtCore.QRect(20, 220, 751, 321))        self.textEdit.setObjectName("textEdit")        self.pushButton = QtWidgets.QPushButton(self.centralwidget)        self.pushButton.setGeometry(QtCore.QRect(300, 90, 141, 61))        font = QtGui.QFont()        font.setPointSize(12)        font.setBold(True)        font.setWeight(75)        self.pushButton.setFont(font)        self.pushButton.setObjectName("pushButton")        MainWindow.setCentralWidget(self.centralwidget)        self.menubar = QtWidgets.QMenuBar(MainWindow)        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 26))        self.menubar.setObjectName("menubar")        self.menu_1 = QtWidgets.QMenu(self.menubar)        self.menu_1.setObjectName("menu_1")        self.menu_2 = QtWidgets.QMenu(self.menubar)        self.menu_2.setObjectName("menu_2")        MainWindow.setMenuBar(self.menubar)        self.statusbar = QtWidgets.QStatusBar(MainWindow)        self.statusbar.setObjectName("statusbar")        MainWindow.setStatusBar(self.statusbar)        self.actionFunction1 = QtWidgets.QAction(MainWindow)        self.actionFunction1.setObjectName("actionFunction1")        self.actionFunction2 = QtWidgets.QAction(MainWindow)        self.actionFunction2.setObjectName("actionFunction2")        self.actionExit = QtWidgets.QAction(MainWindow)        self.actionExit.setObjectName("actionExit")        self.actionExit_2 = QtWidgets.QAction(MainWindow)        self.actionExit_2.setObjectName("actionExit_2")        self.menu_1.addAction(self.actionFunction1)        self.menu_1.addAction(self.actionFunction2)        self.menu_1.addSeparator()        self.menu_1.addAction(self.actionExit_2)        self.menubar.addAction(self.menu_1.menuAction())        self.menubar.addAction(self.menu_2.menuAction())        self.textEdit.setText("pyuic untitled.ui -o untitled.py")         self.retranslateUi(MainWindow)        self.pushButton.clicked.connect(self.add_hello_qt)        QtCore.QMetaObject.connectSlotsByName(MainWindow)            def add_hello_qt(self):        self.textEdit.setText("Hello QT!") #★★★ def retranslateUi(eslf,MainWindow)#translate翻译#retranslate重译(对界面中控件所进行的其他调整:如设置标题会出现在这里)    def retranslateUi(self, MainWindow):        _translate = QtCore.QCoreApplication.translate        MainWindow.setWindowTitle(_translate("MainWindow", "This is a simple title"))        self.label.setText(_translate("MainWindow", "Simple Widget"))        self.pushButton.setStatusTip(_translate("MainWindow", "click this will add ‘hello QT' in below area"))        self.pushButton.setText(_translate("MainWindow", "Hello QT"))        self.menu_1.setTitle(_translate("MainWindow", "菜单栏1"))        self.menu_2.setTitle(_translate("MainWindow", "菜单栏2"))        self.actionFunction1.setText(_translate("MainWindow", "Function1"))        self.actionFunction2.setText(_translate("MainWindow", "Function2"))        self.actionExit.setText(_translate("MainWindow", "Exit"))        self.actionExit_2.setText(_translate("MainWindow", "Exit"))   #下面的这些部分需要手动打开py文件进行添加if __name__ == "__main__":   
  2.         import sys   
  3.         app = QtWidgets.QApplication(sys.argv)   
  4.         MainWindow = QtWidgets.QMainWindow()   
  5.         ui = Ui_MainWindow()   
  6.         ui.setupUi(MainWindow)   
  7.         MainWindow.show()   
  8.         sys.exit(app.exec_())
复制代码
运行结果



总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

来源:https://www.jb51.net/article/276292.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具