今天开始,木木带着大家使用Pyqt5搭建工业软件界面。
本期任务:
- PyQT环境搭建
- 界面编程习惯(实现逻辑代码和界面代码分离)
- 做一个简易计算器界面(相当于“Hello,World!”)
序言
以有限元为例,整个软件教学过程中围绕着有限元的各个流程进行展开。在大家熟悉了整个设计流程后,可以对自己的代码(有限元、离散元、虚拟元等等各种数值方法)加上一个漂亮的界面。
跟着我学习的人,可以保障大家都可以设计出这样的界面:
对每次推文教程或B站视频里面的疑问都可以在星球中进行提问,我会作出统一回答,涉及的代码也会同步上传至星球中,推文和视频均已免费的形式呈现。
环境搭建
网上有很多环境搭建的教程,可以参考某乎、某度里面大佬的分析教程,我在这里简单写一下流程。
操作系统:windows
Python环境:3.11(下载最新版即可)
开发工具:PyCharm社区版(免费),VsCode也可以,我个人目前在用的是PyCharm。
在PyCharm中配置PtQt5环境:
QtDesigner:ui工具设计页面
PyUIC:将ui文件转化为python代码
Pyrcc:将图片、数据文件转为python代码
- 使用pip安装PyQt5:
pip install PyQt5
- 使用pip安装Qt Designer:
pip install PyQt5-tools
- 设置->添加外部工具Qt Designer
- 设置->添加外部工具PyUIC
- 设置->添加外部工具Pyrcc
编程习惯
在自己的工作目录中建立一个文件夹用于APP的制作,另放置一个test.py
函数,用于测试部分功能代码,目录结构如下图所示:
以上的文件设置可实现界面代码和逻辑代码的分离,即每次修改界面时,界面代码不会覆盖逻辑代码,其中,
- function文件夹放置信号与槽函数连接
- image文件夹放置图标文件
- style文件夹方式自定义的样式文件,如果不考虑自定义样式的话,可以不用设置该文件夹
- ui文件夹放置界面代码
界面初始化
- 打开qtdesigner
- 创建MainWindow
- 创建一个简单的计算器
- 将mainUI.ui转换为mainUI.py
- mainUI.py大概长这个样子
- 在function文件夹中添加信号槽连接函数:
signal
from PyQt5.QtWidgets import QMainWindow
from ui.mainUI import Ui_MainWindow
class MainWindow(QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
- main.py添加一下代码段:
import sys
from function.signal import MainWindow
from PyQt5.Qt import *
if __name__ == "__main__":
# 创建应用程序
app = QApplication(sys.argv)
mainWindow = MainWindow()
mainWindow.show() # 显示窗口
sys.exit(app.exec_()) # 保证程序不会退出
- 然后点击main.py运行
-
界面就可以在Pycharm中运行了,然后现在需要添加信号与槽连接,比如,我们想实现点击“计算”按钮后,右下角的框框为a和b的累加。
-
在signal中添加逻辑代码:
-
再次点击main.py运行,即可实现简易计算器的效果。
至此,《基于PyQT的工业软件界面制作保姆级教程》第一讲就暂且讲到这里,有任何问题,可以在星球内我们互动交流,我们下期再见。
课程源代码: