添加一个新示例或移植一个¶
添加示例对于想要熟悉模块及其功能的人来说是一个很好的练习。
你可以从头开始设计一个示例,或者从另一个应用程序中获得灵感,或者简单地移植一个没有Python对应版本的现有Qt示例。
示例代码应该没有flake8警告;这是由机器人强制执行的。在仓库的根目录下提供了一个配置文件。如果有充分的理由,可以通过noqa指令排除违规行。
请记住,我们确实允许100列的行长度。
此外,请使用isort来保持导入的顺序并与其他示例一致。
例如:
$ flake8 --config pyside-setup/.flake8 your_file.py
$ isort your_file.py
添加一个新示例¶
检查您的示例所涵盖的主题是否已经存在于现有示例中。
在你认为更相关的
examples/内创建一个新目录。在里面,放置示例的代码,以及一个
.pyproject文件,列出示例所需的文件。如果您希望示例自动显示在示例库中,请包含一个
doc目录,该目录包含一个rst文件和一个截图。有关格式问题,请查看其他示例。在编写
rst文件时,您可以使用literalinclude指令包含代码片段,指定.pyproject文件中列出的相对路径。example_gallery工具将扩展此功能(参见pointconfiguration示例)。对于标签页中显示的代码,您可以在
doc目录中创建rstinc文件,其中包含一些解释它们的描述(参见samplebinding示例)。
注意
example_gallery 工具会自动在示例文档前添加一个自动生成的锚点,请使用这些锚点来链接到文档。
移植一个Qt示例¶
快速检查C++示例,修复过时的代码。
使用
tools/tools/qtcpp2py.py(snippets-translate的前端)移植源代码。请注意,由于文档构建的需要,我们的示例需要具有唯一的名称。
验证所有插槽是否都使用
@Slot进行了装饰。添加一个
.pyproject文件(稍后验证文档构建)。添加一个
doc目录和描述性的.rst文件,如果合适的话,还可以添加一张截图(使用optipng来减小文件大小)。添加
"""Port of the ... example from Qt 6"""文档字符串。尝试将变量和函数名称转换为蛇形命名法。
从
sources/pyside6/doc/additionaldocs.lst中移除C++文档。
注意
示例截图在.png中应通过运行optipng -o 7 -strip all进行优化。或者,可以使用.webp格式。