网站首页 > 开源技术 正文
一直有发布一些与PyQt5的相关文章,好友@碳烤大鹏鸟 留言:
推荐使用pyside,多给这个库提供一点代码资料,这是qt母公司推出的Python版,协议更宽松,支持商用闭源。但网上找的资料却还是PyQt和Qt的c++代码。
PySide6与PyQt6之间的最大的差别在于它们的许可协议上,而PySide6许可协议更友好,并且也是Qt官方公司主推的框架(亲儿子,值得拥有)。
PySide是LGPL协议,LGPL协议是一个商业友好的协议使用 LGPL 协议开发闭源程序,如果使用动态链接的形式,就可以以任何形式(商业的、非商业的、开源的、非开源的等等)发布的应用程序
PyQt有两种许可协议,一种是GPLv3许可协议,另一种是需要授权的商业许可协议,GPLv3许可协议是指,如果程序引用了该协议,则程序也必须开源,如果想要商业闭源,则必须购买该公司的商业许可协议。
本文主要就是体验一下PySide6。
一、PySide6的安装
安装比起PyQt更加简洁方便,一行命令即可。
pip install PySide6
二、在VSCode中配置
1、安装Qt for Python扩展
2、扩展设置
打开安装的Qt for Python 这个扩展设置,
在settings.json中编辑,在配置文件末尾添加以下配置代码
"qtForPython.designer.path": null,
"qtForPython.rcc.path": null,
"qtForPython.uic.path": null,
"qtForPython.uic.args": ["-o ${fileDirname}${pathSeparator}Ui_${fileBasenameNoExtension}.py" ],
"qtForPython.rcc.args": ["-o ${fileDirname}${pathSeparator}${fileBasenameNoExtension}_rc.py" ],
//"qtForPython.rcc.args": ["-o ${fileDirname}${pathSeparator}rc_${fileBasenameNoExtension}.py" ],
"qtForPython.lupdate.liveExecution": true,
三、PySide6使用测试
1、设计界面
右键菜单:New Form(Qt Designer UI File),打开Qt 设计师工作界面
看不出与PyQt中的Qt Designer有什么差别,组件都一样的。
设计界面保存:demo.ui,方便后面代码演示测试,不用手动编译,自动同目录下生成Ui_demo.py文件。(这个比PyQt5还要方便)
另外,新建一个资源文件:rec.qrc,编译后生成:rec_rc.py
编译后文件名规则在配置文件中,可以自行修改。
2、业务代码
与PyQt5引用不同的地方:from PyQt5 import QtCore, QtGui, QtWidgets改成:
from PySide6 import QtCore, QtGui, QtWidgets
import sys
from PySide6 import QtCore, QtGui, QtWidgets
from Ui_demo import Ui_MainWindow
class MainWindow(QtWidgets.QMainWindow,Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.pushButton.clicked.connect(self.on_pushButton_clicked)
def on_pushButton_clicked(self):
#获取资源文件中的图片
pixmap = QtGui.QPixmap(':/pic/74.jpg')
#将图片显示到label上
self.label.setFixedSize(pixmap.size())
self.label.setPixmap(pixmap)
self.label.setScaledContents(True)
#弹出消息对话框
QtWidgets.QMessageBox.information(self, "提示", "您点击了按钮")
if __name__ == '__main__':
app=QtWidgets.QApplication(sys.argv)
mywindow=MainWindow()
mywindow.setWindowTitle('PySide6示例')
mywindow.show()
sys.exit(app.exec_())
从运行的窗体效果也看不出与PyQt5有什么变化。
四、PySide6与PyQt5兼容性测试
使用这一个实例:131.Python——PyQt5:单选按钮和复选框的使用,
1、界面UI:使用PySide6重新打开UI,无需要任何改动,保存即可。
2、业务代码:把from PyQt5 import QtCore, QtGui, QtWidgets 改成:
from PySide6 import QtCore, QtGui, QtWidgets
程序完成正常运行,说明PySide6是兼容PyQt5的。
猜你喜欢
- 2024-10-26 脚下每一步都是马赛克艺术(脚下走的每一步)
- 2024-10-26 Python GUI开发:PySide2使用入门(python gui程序)
- 2024-10-26 手把手教会 VS2022 设计 Winform 高DPI兼容程序 (net461 net6.0 双出)
- 2024-10-26 如何使用FastReport .NET 在 JetBrains Rider 中创建PDF报告?
- 2024-10-26 实战PyQt5: 002-安装和配置PyQt5开发环境
- 2024-10-26 触得到的时间--kickstarter上受到最多资助的项目
- 2024-10-26 今天再用10分钟,木辛老师带你一起走入界面布局管理的知识海洋吧
- 2024-10-26 51款工业风浴室超高逼格做法,真是太好用了
- 2024-10-26 由浅入深理解C#中的事件(c#事件的五要素)
- 2024-10-26 PYQT5学习(02):利用Qt Designer制作第一个窗口程序
你 发表评论:
欢迎- 05-08Peking Opera Featuring National Treasure Min Fanglei Premiers in Changsha
- 05-08安卓版Opera Mini浏览器更新,增强大屏设备支持
- 05-08Opera 36.0开发者版本发布:个性化新闻+简化菜单
- 05-08Vitas发布20周年专辑《OPERA20》首支单曲
- 05-08Android 版 Opera 89 带来了大量标签页改进
- 05-08基本Spring Cloud的微服务架构搭建及应用(一)
- 05-08代码质量扫描工具SonarQube原理及环境搭建
- 05-08小心!你的这些习惯和粗心,可能正在泄露信息!丨提示
- 最近发表
-
- Peking Opera Featuring National Treasure Min Fanglei Premiers in Changsha
- 安卓版Opera Mini浏览器更新,增强大屏设备支持
- Opera 36.0开发者版本发布:个性化新闻+简化菜单
- Vitas发布20周年专辑《OPERA20》首支单曲
- Android 版 Opera 89 带来了大量标签页改进
- 基本Spring Cloud的微服务架构搭建及应用(一)
- 代码质量扫描工具SonarQube原理及环境搭建
- 小心!你的这些习惯和粗心,可能正在泄露信息!丨提示
- 一步步搭建openwrt编译环境并编译ddserver源码
- 远程办公、巡逻机器人、口罩识别……离不开一群“研发技术宅”
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)