PySide6介绍
QT官方发布Qt6.0之后,紧接着于2020年12月10日发布了PySide 6,对应C++版的Qt6。从PySide6开始,PySide的命名也会与Qt的大版本号保持一致。需要注意的是使用PySide6开发的程序在默认情况下,不兼容Windows7系统,这也是Qt6所决定的。
PySide为我们提供了两种开发界面的方式,一种叫QtWidget,是在网上搜到的教程中最常见的方式;另一种叫QML,是一种新型的开发方式,也是Qt正在努力推广的开发方式。在本系列的文章中,我们主要使用QtWidget这种方式,而使用QtWidget开发程序时,也有两种基本的使用方法,一种是通过designer开发界面,另一种是用过代码手动开发界面,这里我们的目的是极简快速入门,所以使用designer这种方便的方式进行开发。
如果有老系统如win7以下的话,还的使用一段时间pyqt5
1.vscode插件的安装
-
插件的安装
-
在vscode中安装Python与 QT for Python和code runner插件(推荐)
2.安装PySide6“”包文件
pip install PySide6
3. 配置QT for python 插件
点击插件 设置-拓展设置 找到你的PySide 安装位置 通常安装位置在你的python安装环境下的Script下
3.1“D:\Python\Python311\Scripts”,找到你的python安装包,中Scripts文件夹下
在这个路径下找到三个文件
【这个是我的文件内容,你自己的根据实际情况再python安装目录下的Scripts文件夹下】
D:\Python\Python311\Scripts\pyside6-designer.exeD:\Python\Python311\Scripts\pyside6-rcc.exeD:\Python\Python311\Scripts\pyside6-uic.exe
上述的配置完毕了,测试是否成功
4.验证是否安装完毕以及是否正确
4.1设计工具是否安装正确
4.2代码验证功能,测试代码
import sys
from PySide6 import QtWidgetsapp = QtWidgets.QApplication(sys.argv)
winget = QtWidgets.QWidget()
winget.resize(360, 360)
winget.setWindowTitle("Hello, PySide6!")
winget.show()
sys.exit(app.exec_())
4.3测试gui文件转换python代码事项
第一步,创建一个柜文件
第二步,保存文件到程序的目录下
第三步:编译代码为python文件【在vscode中会自动帮我们把ui文件转换为py文件】
第四部创建一个“call_ui.py”文件调用图形界面文件的代码
图形转换为python代码的主要内容
call_ui.py代码
# -*- coding:utf-8 -*-
# 导入 login_ui
from login_ui import *
from PySide6.QtWidgets import QApplication, QMainWindow
import sys# 继承 Ui_MainWindow类class MyMainWindow(QMainWindow, Ui_Form):def __init__(self):super().__init__()self.setupUi(self)if __name__ == "__main__":app = QApplication(sys.argv)myWin = MyMainWindow()myWin.show()sys.exit(app.exec_())
运行代码,界面显示
通过上述的测试,我们安装环境以及测试验证环境已经成功,后续可以写代码l
代码示例2:
示例2-1:单击右键,选择Create QT UI File(Designer),打开QT Designer。
示例2-2:一般选择Windget这个窗口
示例2-3:放置一个按钮,同时修改对象名称为“pushButton_OK”,后面使用
保存后
编译为python代码【ui-->*.py文件】
示例2-4,然后新建main.py文件,调用图像界面生成的代码
import sysfrom PySide6 import QtWidgets
from PySide6.QtWidgets import *from button_ui import Ui_Formclass MainWindow(QMainWindow,Ui_Form):def __init__(self) :super().__init__()self.setupUi(self)self.pushButton_OK.clicked.connect(self.click)def click(self):self.pushButton_OK.setText("测试")print("点击了!!!@")if __name__ == '__main__':app = QApplication(sys.argv)win = MainWindow()win.setWindowTitle("第一个程序")win.show()app.exit(app.exec_())
示例2,有事件函数,在处理中
5.总结
随着pyqt6的快速普及使用,我们也是应该快了解pyside6,这两个的区别不是很大,具体的区别可以自己百度【我们个人理解就是这两个内容基本一样就是可以了】