本章主要讲解如何通过代码命令行方式创建Python for Qt工程项目,如果你只是要通过pip安装PySide6,你来~
pip install pyside6
更多详情,请参阅我们的快速入门指南。此外,您可以查看与项目相关的常见问题。
译者注:编译PySide主要用到一些第三方库,如libclang,Python, CMake等,这些都可以从Qt的开发工具中下载到:
不同平台的使用指南参考如下:
注意
大多数基于 linux 的嵌入式操作系统都为 PySide 提供了正式的包管理器(例如 树莓派以及archlinuxarm)。
一个常见的创建命令大抵是这样的:
python setup.py install --qmake=/path/to/qmake \
--ignore-git \
--debug \
--build-tests \
--parallel=8 \
--make-spec=ninja \
--verbose-build \
--module-subset=Core,Gui,Widgets
这将使用debug symbols构建和安装工程项目,包括测试、使用ninjia
(代替 make
)并且只考虑 QtCore
、 QtGUI
和 QtWidgets
的模块子集。
其他需要考虑的重要项:
--cmake
,指定 cmake 二进制文件的路径;--reuse-build
,只重建修改过的文件;--openssl=/path/to/openssl/bin
,为 OpenSSL 分配一个不同的路径;--standalone
,复制 Qt 库到最终生成包,使其在其他设备上可运行;-- doc-build-online
,使用在线模板构建文档。安装成功后,即可执行任何可用的示例。
python examples/widgets/widgets/tetrix.py
使用 -- build-tests
选项将使我们能够在项目中运行所有的自动测试:
python testrunner.py test > testlog.txt
注意:
在Windows上,切记将qmake
加入path
环境变量(例如:PATH=E:\Path\to\Qt\6.0.0\msvc2019_64\bin;%PATH%)
我们还运行指定文件的测试(例如 qpainter _ test.py
),命令如下 :
ctest -R qpainter_test --verbose
自5.15版本之后,有两个参数选项可以创建文档。
解析 Qt 头文件以生成 PySide API 文档的过程可能需要几分钟,这意味着修改 rst 文件的特定部分可能会是一项艰巨的任务。
为此,您可以在虚拟环境中安装 sphinx
,并执行以下命令:
python setup.py build_rst_docs
生成 /html
目录如下
html
└── pyside6
├── index.html
├── ...
└── shiboken6
├── index.html
└── ...
可以打开浏览器上的主页 html/pyside6/index. html
,以检查生成的文件。
在对文档进行常规化更新、添加教程、修改构建指令时将非常有用。
文档目前使用 qdoc
生成,以获取 API 信息,还有本地 Python 相关说明的 sphinx。
该系统需要 libxml2
和 libxslt,在 Python 环境中也需要安装 sphinx 和 graphviz,然后才能运行安装过程:
pip install graphviz sphinx
在安装 graphviz
之后,dot
命令需要在 PATH 环境命令中,否则,进程将失败。全局安装 graphviz
也是一种选择。
由于该进程依赖于 Qt 安装,因此使用 qmake
时需要指定 qtbase
目录的位置:
make apidoc
注意:
apidoc make target 默认情况下以 QCH (Qt Creator 帮助)格式构建脱机文档。可以使用-- doc-build-online configure
配置选项切换到生成用于联机使用。
最后,您将得到一个包含所有生成文档的html
目录。离线帮助文件 PySide.qch
和 Shiboken.qch
可以移动到您选择的任何目录。你可以在 build
目录中找到 Shiboken.qch
,*_build\*_release\shiboken6\doc\html
。
离线文档(QCH)可以使用 Qt Creator IDE 或 Qt 助手来查看,这是一个用于查看 QCH 文件的绿色软件。
要使用 Qt Creator 查看 QCH,请遵循在使用 Qt Creator 帮助模式中概述的指令。如果你选择使用 Qt 助手,在启动 Qt 助手之前使用以下命令注册 QCH 文件:
assistant -register PySide.qch
注意
Qt Assistant 使用支持 CSS 样式子集的 QTextBrowser 后端来呈现 QCH 内容,然而,Qt Creator 提供了一个基于 litehtml 的替代后端,它提供了更好的浏览体验。目前,这不是默认的后端,所以你必须在常规选项卡下面在 Qt Creator > Tools > Options > Help 中显式选择 litehtml 后端。
可以在 pyside-setup 存储库中的 tools/目录下找到一组工具。
在 pyside-setup 库中的 tools/目录下有一系列工具。
checklibs.py: Script to analyze dynamic library dependencies of Mach-O binaries. To use this utility, just run:
python checklibs.py /path/to/some.app/Contents/MacOS/Some
这个脚本是从这个库中获取的。
create_changelog.py: 用于创建在 dist/目录中可以找到的 CHANGELOG 的脚本。用法如下:
python create_changelog.py -r 6.0.1 -v v6.0.0..6.0 -t bug-fix
debug_windows.py:这个脚本可以用来查明为什么 PySide 模块无法加载各种 DLL 错误,如 DLL 中丢失 DLL 或缺少符号。
您可以将其视为 ldd / LD_DEBUG 的 Windows 版本。
Underneath it uses the cdb.exe command line debugger, and the gflags.exe tool, both installed with the latest Windows Kit.
在底部,它使用 cdb.exe 命令行调试器和 gflags.exe 工具,这两个工具都安装了最新的 Windows Kit。
The aim is to help developers debug issues that they may encounter using the PySide imports on Windows. The user should then provide the generated log file.
其目的是帮助开发人员在 Windows 上使用 PySide 导入时调试可能遇到的问题。然后用户应该提供生成的日志文件。
Incidentally it can also be used for any Windows executables, not just Python. To use it just run:
顺便说一句,它也可以用于任何 Windows 可执行文件,而不仅仅是 Python:
python debug_windows.py
missing_bindings.py: 这个脚本用于比较 PySide 和 PyQt 在可用模块和类方面的状态。这些内容显示在我们的 wiki 页面上,可以如下使用:
python missing_bindings.py --qt-version 6.0.1 -w all
注意:
该脚本依赖于 BeautifulSoup 来解析内容并生成缺少绑定的列表。