Qt for Python

Python的Qt绑定主要有PyQt和PySide,两者API相似但PyQt历史悠久、社区大,PySide由Qt公司官方支持且采用更灵活的LGPL协议。PyQt速度较快,工具更多,但PySide有官方背景和商业友好性。开发者可根据授权需求和项目特性选择。PySide2基于Qt5,PySide6基于Qt6,PyQt5则有GPL和商业两种授权。此外,QtPy作为中间层可以统一两者的API。
摘要由CSDN通过智能技术生成

目前python的qt 绑定有两种方式 pyqt 和 pyside。目前PyQt是由一家小公司Riverbank Computing维护的,PyQt历史更长一些,比较稳定,开发社区也比较大,有相关的deploy工具;而PySide(又名Qt for Python)现由Qt公司维护,比PyQt更年轻一些。截至2019年,最新版本是PyQt5和PySide2。PySide6是2020年发行的。PySide2和PySide6,分别是基于C++下的Qt5和Qt6开发的。

其实他俩API挺相似的,最大的区别是License,PyQt是GPL协议,Qt for Python是LGPL协议。目前从各方面来看PyQt速度更快、工具更齐全,个人觉得是开发时间比较早的原因,根据开源协议,Qt for Python的实现要避开PyQt已经实现部分的实现方法。但Qt for Python由Qt公司官方支持,而且开源可商用,目测未来发展会超越PyQt。

如果不确定用哪款,还有一种方法是加个中间层。有人对它们API做了包装,参见:QtPy - Github

PySide2使用的是LGPL协议,通过一定的手段(调用库、wrapper等),可以在发布程序时合法合理地闭源或使用其他开源协议。

PyQt5有两种授权协议:GPL开源协议或商用闭源协议。前者意味着直接使用PyQt5的程序也需要基于GPL协议开源,而后者需要支付购买费用,才能闭源使用。

apt install python3-pip

方式一[pyside2]:

pip3 install pyside2

$ pip3 show pyside2
Name: PySide2
Version: 5.15.2.1
Summary: Python bindings for the Qt cross-platform application and UI framework
Home-page: https://www.pyside.org
Author: Qt for Python Team
Author-email: pyside@qt-project.org
License: LGPL
Location: /usr/local/lib/python3.6/dist-packages
Requires: shiboken2

此处有pyside2的相关例子
$ cd /usr/local/lib/python3.6/dist-packages/PySide2/examples

将ui文件转成py文件
pyside2-uic form.ui -o ui_form.py

方式二[pyqt5]:

pip3 install pyqt5
apt install pyqt5-dev-tools

将ui文件转成py文件
pyuic5 -o ui_form.py form.ui

参考资料

  1. PySide2 与 Pyqt5 的区别
  2. Qt for Python | Qt的官方Python组件
  3. PyQt5 教程 (w3schools.cn)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值