pyqt5-创建一个简单示例
1、demo_1
(1)pycharm创建项目
(2)创建入口main.py,导入pyqt5模块
- 鼠标点击,alt+enter快捷键,可以快速导入模块
- 每次创建pyqt项目时,可以直接创建该文件并使用固定的代码
import sys
from PyQt5.QtWidgets import QApplication
from windows.HomeWindowClass import HomeWindow
"""
程序启动入口
"""
if __name__ == "__main__":
app = QApplication([])
# 启动主窗口
w = HomeWindow()
sys.exit(app.exec_())
(3)创建windows目录,创建HomeWindowClass.py文件
from PyQt5.QtWidgets import QWidget
"""
主窗口
"""
class HomeWindow:
def __init__(self):
# 创建一个窗口对象
self.window = QWidget()
# 显示该窗口对象
self.window.show()
(4)运行main.py,可以弹出一个窗口
2、demo_2
demo_2在demo_1的基础上进行,基于designer.exe设计ui,保存为.ui文件。代码中加载指定的ui文件,即可实现ui效果。
- 该demo是相对常用的开发模式,实现ui设计和业务代码的分离,方便ui的频繁迭代,以及精简实际的代码。
- 其能够快速创建ui组件和布局,对于简单开发和pyqt的学习来说,方便更聚焦组件的业务而非布局关系处理
2.1 配置designer.exe
该配置可以跨pycharm项目使用,后续创建pyqt项目可以不再配置,跳过该步骤。(经过测试,并不需要网上一些教程所说的环境变量配置)
(1)pip导入pyqt5-tools
操作流程:右上角Files>Settings>搜索pip,双击pip打开>搜索pyqt5-tools>安装
- 如果安装不成功,可能是pip的仓库问题,建议配置成国内的源,比如https://pypi.python.org/simple
- 一般开发时不会出现这样的场景,但我这里为了演示准备,前一个pycharm项目启动了pyqt窗口运行,新pycharm进行如下搜索和安装时,发生严重的卡顿和异常。解决方案是关闭其他pyqt运行窗口,再进行安装即可。
(2)配置
操作流程:右上角Files>Settings>左侧菜单栏Tools菜单>External Tools>右侧面板添加+
- Name和Description,可以任意设置
- Program配置是designer.exe路径,具体如何配置需要结合自己的项目空间。
K:\pyqt5_demo2\venv\Lib\site-packages\qt5_applications\Qt\bin\designer.exe
- Working directory,表示designer.exe默认打开和保存ui文件时的目录,一般配置为$FileDir$
2.2 创建ui目录,打开designer.exe,进行简单创建并保存设计文件到ui目录中
- 鼠标右键选择项目下任一文件/目录,右键菜单>External Tools>选择刚配置的Name。
- 此处的文件或目录的路径,即对应$FileDir$。所以,一般直接选择ui目录打开designer
2.3 HomeWindow类
from PyQt5.QtWidgets import QWidget
from PyQt5.uic import loadUi
"""
主窗口
"""
class HomeWindow:
def __init__(self):
# 加载ui文件创建ui对象
self.window = loadUi('ui/home.ui')
self.window: QWidget
# 显示该ui对象
self.window.show()
2.4 启动mai.py测试