Qt for Python

目前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: [email protected]
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)

你可能感兴趣的:(qt,python,开发语言)