修复文档问题#
修复文本#
Shiboken 的 <inject-documentation>
元素可用于添加文本。虽然目前尚未实现其 "replace"
模式。
修复代码片段#
将 Python 等效代码置于 sources/pyside6/doc/snippets
目录下可以替换代码片段。该目录结构与 Qt 保持一致。要将 ID 为 0 的代码片段替换为 qtbase/examples/foo/snippet.cpp
中的代码,请在该目录下放置一个文件 qtbase/examples/foo/snippet_0.cpp.py
(每个文件一个代码片段,代码片段 ID 添加到基本名称之后)。
更复杂的映射可以添加到 tools/snippets_translate/override.py
。
在 Qt 主要版本更改后重新创建模块描述
源代码树包含 .rst 文件,这些文件包含位于 doc/extras 中的模块描述(例如命名为 “QtCore.rst”)。它们是从 C++ 模块描述中提取/改编而来的。如果没有模块描述文件,Shiboken 将从 qdoc 生成的 webxml 文件中提取模块描述。这将在构建目录的 doc/rst/PySide6/<module>/index.rst 下完成。这可以用作模块描述文件的起点。应删除有关构建说明等特定于 C++ 的信息。
描述可以链接到教程,这些教程可以添加到 additionaldocs.lst 以进行 webxml 提取。
维护 additionaldocs.lst#
该文件是附加文档文件的列表。这些都是由文档引用的 Qt 教程。它们将由 Shiboken/sphinx 进行一些 Python 适配。
列表可以由以下脚本和一些手动编辑创建。它几乎可以发现所有文档。其中许多可能没有引用,但是没有很好的方法过滤这些文档。应该删除 Python 中存在的示例页面。
for F in *.webxml
do
echo "$F" | egrep '(-index)|(-module)|(-qmlmodule)\.webxml$' > /dev/null
if [ $? -ne 0 ]
then
if fgrep '<para>' "$F" > /dev/null # Exclude reference only
then
egrep "(<class )|(<namespace )" $F > /dev/null || echo $F
fi
fi
done
继承图#
inheritance_diagram.pyproject
列出涉及继承图生成的脚本,inheritance_diagram.py
是 sphinx 主要使用的脚本。其他脚本有主要的测试驱动程序用于检查。
用于确定继承的脚本有两个:* json_inheritance.py
(环境变量 INHERITANCE_FILE
)读取一个
继承.json 文件,其中包含由 shiboken 的文档生成器生成的类层次结构。
import_inheritance.py
实际上尝试导入类(旧版)