PySide是跨平台的应用程序框架Qt的Python绑定版本,允许开发者使用Python语言进行Qt应用程序的开发。

软件介绍

在2009年8月,PySide首次发布。提供和PyQt类似的功能,并相容 API。但与 PyQt 不同处为使用LGPL授权。PySide是由The Qt Company开发的,作为Qt for Python项目的一部分,它是标准库包Tkinter的替代品之一。PySide支持Linux/X11、Mac OS和Microsoft Windows平台,并且可以交叉编译到嵌入式系统,如树莓派Android设备。

发展历史

PySide的诞生源于诺基亚(当时的Qt工具包所有者)希望在LGPL许可下提供Python绑定,但未能与PyQt的开发者Riverbank Computing达成协议。因此,诺基亚在2009年8月推出了PySide,'Side'在芬兰语中意为绑定。PySide有三个主要版本:PySide支持Qt 4,PySide2支持Qt 5,而PySide6则支持Qt 6。

PySide版本1支持Qt 4,并在Linux/X11、Mac OS X、Microsoft Windows、Maemo和MeeGo操作系统下运行,社区也为Android添加了支持。PySide2是由Christian Tismer于2015年开始将PySide从Qt 4移植到Qt 5的项目,后来并入了Qt项目,并于2018年12月发布。PySide6则在2020年12月发布,增加了对Qt 6的支持,并移除了所有早于3.6的Python版本的支持。

最初,PySide项目使用Boost.C++库中的Boost.Python进行绑定。后来,为了减小二进制文件的大小和内存占用,PySide创建了自己的绑定生成器Shiboken。

示例代码

PySide的使用非常直观,以下是一个简单的Hello World程序示例:

```python

导入PySide6类

import sys

from PySide6 import QtCore, QtWidgets

创建一个Qt应用程序

app = QtWidgets.QApplication(sys.argv)

创建一个窗口

mywindow = QtWidgets.QWidget()

mywindow.resize(320, 240)

mywindow.setWindowTitle('Hello, World!')

创建一个标签并将其一起显示

mylabel = QtWidgets.QLabel(mywindow)

mylabel.setText('Hello, World!')

mylabel.setGeometry(QtCore.QRect(200, 200, 200, 200))

进入Qt应用程序的主循环

sys.exit(app.exec())

```

通过这个示例,可以看出PySide的API设计简洁明了,易于上手,使得Python开发者可以快速地创建出功能丰富的桌面应用程序。

参考资料