适配新的Qt版本#
适应源代码变更#
PySide的dev分支在API审查完成后,api稳定后切换到新的Qt小版本。
在这之前,应该持续开发补丁以适应这个版本。
新的类页面是查找新API的良好信息来源。
新的类应该添加到类型系统文件(使用 since
属性)和相应模块的 CMakeList.txt
文件中。
如果类在所有平台上不可用,需要在类型系统文件中指定相应的 QT_CONFIG
宏,并在 CMakeList.txt
中增加功能检查(例如 QPermission
)。
这个过程包括运行构建和评估日志文件。可以使用来自 Qt Creator 仓库的脚本 shiboken2tasks.py 将shiboken警告转换为在 Qt Creator 的构建问题面板中显示的任务文件。
那里将显示关于新枚举的警告;它们应该使用 since
属性添加到类型系统文件中。
关于找不到函数签名进行修改的警告也需要处理;这通常意味着函数参数从 int
更改为 qsizetype
或类似类型。
如果构建成功,应该执行测试运行。
应该检查Qt源代码中的新重载(从6.7版开始以 QT6_DECL_NEW_OVERLOAD_TAIL
表示)。每个具体案例都需要决定解决方案,通常是通过删除旧函数并使用 <declare-function>
声明新API。
版本升级#
要指导 COIN
使用 Qt 的下一个版本,相应地修改文件 coin/dependencies.yaml
和/或 product_dependencies.yaml
。接下来,应通过修改 sources/shiboken6/.cmake.conf
和 sources/pyside6/.cmake.conf
来更改 wheel 名称。