PyQt5的组件
PyQt5包含许多不同的组件。首先,有许多Python扩展模块。这些都安装在 PyQt5
Python包中,并在模块列表中进行了描述 。
PyQt5作为许多源包和相应的二进制轮分发,每个二进制轮实现一个或多个逻辑上相关的扩展模块。
PyQt5包含使用Python代码扩展Qt Designer和qmlscene的插件。有关详细信息,请分别参阅编写Qt Designer插件和 集成Python和QML。
PyQt5还包含许多实用程序。
- pyuic5对应于Qt uic实用程序。它将使用Qt Designer创建的基于QtWidgets的GUI 转换 为Python代码。
- pyrcc5对应于Qt rcc实用程序。它嵌入Python模块中资源集合文件描述的任意资源(例如图标,图像,翻译文件)。
- pylupdate5对应于Qt的lupdate效用。它从Python代码中提取所有可翻译的字符串,并创建或更新
.ts
翻译文件。然后Qt Linguist使用这些来管理这些字符串的翻译。
该的DBus支持模块安装为dbus.mainloop.pyqt5。该模块提供对Qt事件循环的支持,其方式与标准dbus-python
绑定包中包含的dbus.mainloop.glib 提供对GLib事件循环的支持的方式相同。DBus支持中描述了API 。仅在安装了dbus-python
v0.80(或更高版本)绑定包时才可用。所述QtDBus 模块提供了一个更Qt的状界面的DBus。
配置PyQt5时,PyQt5.api
会生成一个名为call的文件。这可以通过使用 QScintilla 编辑器组件,以便能够使用自动完成和编辑PyQt5代码时,通话时间提示。如果 已安装QScintilla,则会自动安装API文件 。
PyQt5包含大量示例。这些是Qt提供的许多C ++示例的Python端口。它们可以在examples
目录中找到 。
最后,PyQt5包含.sip
SIP用来生成PyQt5本身的文件。开发人员可以使用这些基于其他Qt的类库的绑定。
版本号的说明
从历史上看,PyQt的版本号与支持的Qt版本无关。PyQt4不再需要Qt v4,因为它也会针对Qt v5构建。人们有时会错误地认为,例如,在针对Qt v4.8构建时需要PyQt4 v4.8。
当引用版本号时,我们假设它由三个用点分隔的数字组成。这些是主要号码,次要号码和维护号码。主要数字将始终如一5
。如果是,则可以省略维护号0
。
从PyQt5开始,PyQt5的版本号在某种程度上与Qt v5的版本相关联。这基于以下假设。
- Qt API的所有部分都将在Qt v5的整个生命周期内得到支持,即使某些部分可能在某些时候被标记为已弃用或已过时。
- 当引入Qt API的新部分时,将增加版本的次要编号,并将维护编号重置为
0
。
因此,对于PyQt5 v5.n. *,以下是正确的。
- 它将针对任何版本的Qt v5构建,但不支持Qt v5.n + 1或更高版本中引入的任何新功能。
- 它将支持Qt v5.n或更早版本支持的模块的所有功能。
- 可以随时向PyQt5添加对新模块的支持。这将导致仅更改维护编号。
PyQt5和Qt v5的维护号完全无关。
因此,例如,PyQt5 v5.1将针对Qt v5.2构建,但不支持Qt v5.2中引入的任何新功能。PyQt5 v5.1将支持Qt v5.0支持的模块的所有功能以及Qt v5.1中引入的新功能。
总之,就像使用PyQt4一样,无论您使用的是什么版本的Qt v5,都应该尝试使用最新版本的PyQt5。