添加新示例或迁移#

添加示例是人们想要熟悉模块及其功能的好练习。

您可以从零开始设计一个示例,或者从另一个应用程序中受到启发,或者简单地迁移一个现有的没有Python对应关系的Qt示例。

示例代码应无flake8警告;这是由机器人强制执行的。如果确实有合理的理由,可以通过noqa指令排除受影响的行。在存储库的根目录中提供了一个配置文件。

请注意,我们允许行长度达100列。

此外,请使用isort来保持导入的顺序和一致性。

例如

$ flake8 --config pyside-setup/.flake8 your_file.py
$ isort your_file.py

添加新示例#

  • 检查您示例覆盖的主题是否已不在现有的示例中。

  • 在您认为更相关的examples/<module>内创建一个新的目录。

  • 在此目录中放置示例代码,并放置一个.pyproject文件,列出示例需要的文件。

  • 如果您想使示例在示例画廊中自动显示,请包括一个包含rst文件和截图的doc目录。检查其他示例以获取格式化问题。

  • 在编写rst文件时,您可以使用literalinclude指令包括代码片段,指定相对于.pyproject文件中列出的相对路径。example_gallery工具将展开此内容(参见pointconfiguration示例)。

  • 对于显示在选项卡中的代码,您可以在doc目录中创建rstinc文件,包含一些描述说明它们(参见samplebinding示例)。

迁移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 格式。