PyQt5|(一)PyQt5系列教程(使用PyQt5创建一个简单的demo)

(一)PyQt5系列教程:使用PyQt5创建一个简单的demo 一、环境配置: 1. python下载(建议python3.8版本以上)和安装
2. pycharm下载和安装
3. PyQr5下载和安装
4. 在pycharm中添加对应的PyQt5的包
PyQt5|(一)PyQt5系列教程(使用PyQt5创建一个简单的demo)
文章图片

5.设置PyQt5的设计器,将PyQt5文件转换成python:
PyQt5|(一)PyQt5系列教程(使用PyQt5创建一个简单的demo)
文章图片

复制designer.exe的路径:PyQt5|(一)PyQt5系列教程(使用PyQt5创建一个简单的demo)
文章图片

【PyQt5|(一)PyQt5系列教程(使用PyQt5创建一个简单的demo)】PyQt5|(一)PyQt5系列教程(使用PyQt5创建一个简单的demo)
文章图片

然后打开setting,配置外部工具:(可以在pycharm直接调用软件外的工具)
PyQt5|(一)PyQt5系列教程(使用PyQt5创建一个简单的demo)
文章图片

Program:是刚才复制的路径;PyQt5|(一)PyQt5系列教程(使用PyQt5创建一个简单的demo)
文章图片

Arguement填如下面参数:

-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py

PyQt5|(一)PyQt5系列教程(使用PyQt5创建一个简单的demo)
文章图片

然后回到pycharm,打开外部工具Qt designer:
PyQt5|(一)PyQt5系列教程(使用PyQt5创建一个简单的demo)
文章图片

调用了Pycharm外部的Qt designer。然后创建一个空工程文件,保存。保存的过程文件会在pycharm中出现
PyQt5|(一)PyQt5系列教程(使用PyQt5创建一个简单的demo)
文章图片

点击窗口的中的部件,右边有相对应的属性可以进行设置:
PyQt5|(一)PyQt5系列教程(使用PyQt5创建一个简单的demo)
文章图片

对pycharm中的Qt designer创建并保存的.ui工程文件中进行转换成python文件:
PyQt5|(一)PyQt5系列教程(使用PyQt5创建一个简单的demo)
文章图片

PyQt5|(一)PyQt5系列教程(使用PyQt5创建一个简单的demo)
文章图片

完整代码:
import sys from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_Dialog(object): def setupUi(self, Dialog): Dialog.setObjectName("Dialog") Dialog.resize(400, 300) self.buttonBox = QtWidgets.QDialogButtonBox(Dialog) self.buttonBox.setGeometry(QtCore.QRect(30, 240, 341, 32)) self.buttonBox.setOrientation(QtCore.Qt.Horizontal) self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok) self.buttonBox.setObjectName("buttonBox")self.retranslateUi(Dialog) self.buttonBox.accepted.connect(Dialog.accept) self.buttonBox.rejected.connect(Dialog.reject) QtCore.QMetaObject.connectSlotsByName(Dialog)def retranslateUi(self, Dialog): _translate = QtCore.QCoreApplication.translate Dialog.setWindowTitle(_translate("Dialog", "Dialog"))if __name__ == '__main__':# QT提供的默认基类QMainWindow、QWidget、QDialog这三种。 # QMainWindow是带有菜单栏和工具栏的主窗口 # QtWidgets是PyQt5下面的一个模块,包括了用于构建界面的一系列UI元数组件 # QApplication包括窗口系统和其他来源处理过和发送过的主事件循环,有且只有一个QApplication对象 # QDialog是各种对话框的基类,窗口部件全部继承自QWidget。(本身没有菜单栏和工具栏)app = QtWidgets.QApplication(sys.argv)# 实例化一个应用对象 MainWindow = QtWidgets.QDialog() ui = Ui_Dialog() ui.setupUi(MainWindow)# 初始化窗口:吧Qt设计器设计的内容画出来,定义的信号和槽建立起来。(画界面和写程序的桥梁) MainWindow.setWindowTitle("666")# 标题 MainWindow.show()# 显示窗口 sys.exit(app.exec_())# 程序循环,等待安全退出

点击运行:
PyQt5|(一)PyQt5系列教程(使用PyQt5创建一个简单的demo)
文章图片

如果在Qt Designer创建Main Window:
PyQt5|(一)PyQt5系列教程(使用PyQt5创建一个简单的demo)
文章图片

则代码部分为:
# -*- coding: utf-8 -*-# Form implementation generated from reading ui file '03.ui' # # Created by: PyQt5 UI code generator 5.15.4 # # WARNING: Any manual changes made to this file will be lost when pyuic5 is # run again.Do not edit this file unless you know what you are doing.import sys from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(1025, 820) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap("C:/Users/hdy/Pictures/logo.ico.bmp"), QtGui.QIcon.Normal, QtGui.QIcon.Off) MainWindow.setWindowIcon(icon) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.widget = QtWidgets.QWidget(self.centralwidget) self.widget.setGeometry(QtCore.QRect(200, 240, 274, 30)) self.widget.setObjectName("widget") self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.widget) self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.lineEdit = QtWidgets.QLineEdit(self.widget) self.lineEdit.setObjectName("lineEdit") self.horizontalLayout.addWidget(self.lineEdit) self.horizontalLayout_2.addLayout(self.horizontalLayout) self.Button = QtWidgets.QPushButton(self.widget) self.Button.setObjectName("Button") self.horizontalLayout_2.addWidget(self.Button) MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 1025, 26)) self.menubar.setObjectName("menubar") MainWindow.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar)self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow)def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) self.Button.setText(_translate("MainWindow", "Button"))if __name__ == '__main__':# QT提供的默认基类QMainWindow、QWidget、QDialog这三种。 # QMainWindow是带有菜单栏和工具栏的主窗口 # QtWidgets是PyQt5下面的一个模块,包括了用于构建界面的一系列UI元数组件 # QApplication包括窗口系统和其他来源处理过和发送过的主事件循环,有且只有一个QApplication对象 # QDialog是各种对话框的基类,窗口部件全部继承自QWidget。(本身没有菜单栏和工具栏)app = QtWidgets.QApplication(sys.argv)# 实例化一个应用对象 MainWindow = QtWidgets.QMainWindow() ui = Ui_MainWindow() ui.setupUi(MainWindow)# 初始化窗口:吧Qt设计器设计的内容画出来,定义的信号和槽建立起来。(画界面和写程序的桥梁) MainWindow.setWindowTitle("666")# 标题 MainWindow.show()# 显示窗口 sys.exit(app.exec_())# 程序循环,等待安全退出

    推荐阅读