添加一个新模块¶
添加新模块的原因有很多,最重要的一个原因是当Qt在新版本中启用或包含一个新模块时。
添加绑定和文档是包含新模块的基本要素,但添加测试和示例是理想的选择。
添加绑定¶
找到正确的名称(查看Qt的包含路径)。
将模块添加到
coin/dependencies.yaml
文件中。将其添加到
sources/pyside6/cmake/PySideHelpers.cmake
。将其添加到
build_scripts/wheel_files.py
(插件,翻译)。将现有模块复制到
sources/pyside6/PySide6/
。调整
typesystem.xml
和CMakeList.txt
(例如使用Qt Creator的大小写保留替换功能)。确保依赖项是正确的。
找到导出的公共类,将它们添加到
typesystem.xml
文件中,检查它们是value-type
还是object-type
。添加它们的枚举和标志。将包装文件添加到
CMakeList.txt
。在
sources/pyside6/tests
下创建一个测试目录,并包含一个空的CMakeList.txt
。尝试将模块添加到
--module-subset
选项中,使用setup.py
进行构建。注意日志中的shiboken警告。
请注意,
ninja
混合了标准输出和标准错误,因此,第一个警告通常隐藏在进度消息后面。一个方便的方法是使用
qt-creator/scripts/shiboken2tasks.py
从 *Qt Creator* 仓库 将它们转换为一个.tasks
文件,该文件可以加载到 Qt Creator 的 问题面板中。当
generate_pyi
尝试导入模块以创建签名时,可能会出现链接错误。这些错误表明缺少源文件条目或模块本身存在错误。
注意
为了使构建成功,模块必须遵循Qt的约定,使用#include
,因为在PySide中没有传递模块的包含路径。
分布¶
根据Qt Modules确定模块属于哪个轮子。
将模块添加到
build_scripts/wheel_files.py
中,以供create_wheels.py
使用。将模块添加到其中一个
README.pyside6_*.md
文件中。
添加文档¶
将条目添加到
sources/pyside6/doc/modules.rst
。在
sources/pyside6/doc/qtmodules
中添加一个.qdocconf.in文件。在
sources/pyside6/doc/extras
中添加模块描述.rst
文件。