Qt 5.12 在三大桌面平台宣布支持 Python 2.7 以及 3.5+,并包含两个封装器模块,用来封装 Qt API 以及自有的 C++ 函数库。知名流行的 C++ 常用 GUI 开发框架 Qt 官方宣布,开始在 5.12 版本中支持 Python —— Python 开发者现在可以使用所有的 Qt API,虽然目前尚处于技术预览版的阶段,但官方承诺,正式版将在不久后推出。
官方表示,Qt 5.12 将作为支持 Python 的第一个版本,虽然 Qt 5.12 也是一个长期支持版本,但 Python 部分不会一起获得长期支持。虽然官方希望支持 Python 的部分可以基于 Qt 版本同时发布,但目前还无法实现。
这个版本包含了两个 Python 模块,PySide2 和 Shiboken2。PySide2 为大多数 Qt API 提供 Python 封装器,而 Shiboken 则允许使用者封装自己的 C++ 函数库,并用于开发 Python 应用程序,而在内部,PySide2 模块依赖于 Shiboken。目前 Qt 5.12 在三大桌面平台提供了对 Python 2.7 以及 3.5+ 的支持。
虽然未来在技术预览阶段结束后,有暗示提供兼容性的保证,但 Qt 支持 Python 的兼容性与 C++ 的兼容性声明不一样,前者是用特殊的语法使用 Qt 的 C++ API,但任何使用 Qt 5.12 支持 Python 的应用程序,都应该继续与未来的版本互相兼容。官方表示,目前 Shiboken 还有需要改善的地方,因此"Qt for Python"还不能拿掉技术预览版的标签。
在未来,官方会继续简化 PySide2 应用程序的部署,提供与其他 Python 模块更好的互操作性,并支持嵌入式和移动等平台。