前言
pyqt作为python的可视化前端窗口,是目前较主流的GUI(图形用户界面)python库,本文主要记录一些pyqt的使用方法和本人在使用过程中遇到的问题
一、环境的安装
安装PyQt库
如果是python3.8以前的话,可以使用PyQt5。用以下命令即可
pip install pyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install pyqt5-tools -i https://pypi.tuna.tsinghua.edu.cn/simple --user
如果是python3.9以后的版本,我们得根据:
Windows11 python3.12 安装pyqt6 pyqt6-tools这篇文章来安装PyQt6
安装完成后,设置外部工具Qt designer。
接下来,按同样的方法添加pyuic,pyuic用于将qtdesigner生产的.ui文件转换成python可识别的.py文件。
python3.8
其设置过程如下:
Programs(程序)处输入python.exe所在的路径和文件名,
Arguments(实参)处输入:
1 -m PyQt5.uic.pyuic -o $FileNameWithoutExtension$.py $FileName$
Working directory(工作目录)处输入:
$FileDir$
本人是python3.12
版本,设置如下
Program中的路径在venv\Scripts\pyuic6.exe,一定要找对位置。
Arguments填
$FileName$ -o $FileNameWithoutExtension$.py
Working directory 为
$ProjectFileDir$
如果想更换.py文件保存目录则将此处换为目标目录路径即可
测试结果
右键项目,选择外部工具,qtdesigner
选择MainWindow,保存文件
保存完成后,可以看到.ui文件,右键用外部工具pyuic转换成.py文件
生成了.py文件
二、语法样例
1.窗口创建和展示
关键词:QApplication(sys.argv)、QMainWindow()、setWindowTitle()、resize()、setStyleSheet()、setParent()、show()
代码:
import sys
from PyQt6.QtWidgets import QApplication, QMainWindow, QLabel
app = QApplication(sys.argv) # 创建一个应用
ui = QMainWindow() # 创建窗口
ui.setWindowTitle("标题名字") # 设置标题名字
ui.resize(800, 800) # 设置窗口大小
ui.move(2500, 200)
ui.show()
label = QLabel() # 创建标签
label.setText("我是标签")
label.move(100, 100)
label.resize(300, 300)
label.setStyleSheet("background-color: yellow;padding:100px")
label.setParent(ui) # 认窗口为爹嵌入其中
label.show()
sys.exit(app.exec()) # 开始执行程序,并进入消息循坏等待
结果:
2.创建和加载ui文件
关键词uic.load
创建ui文件过程就是上述用Qt Designer创建窗口的步骤
加载ui文件下列代码:
from PyQt6.QtWidgets import QApplication
from PyQt6 import uic
import sys
if __name__ == '__main__':
app = QApplication(sys.argv)
ui = uic.loadUi('uiBase.ui') # 加载ui文件
ui.show()
sys.exit(app.exec())
3.ui文件转成py文件后如何加载窗口
在转成的py文件后输入下列代码即可加载。
if __name__ == '__main__':
app = QApplication(sys.argv)
windows = QWidget()
ui = Ui_Form() # 创建 Ui_Form 类的实例
ui.setupUi(windows) # 调用实例的 setupUi 方法
windows.show()
sys.exit(app.exec())
总结
这篇文章是最基本的pyqt的语法,更多详情功能请查看b站视频。
2024版 PyQt6 Python桌面开发 视频教程