Qt for Python 入门¶

本页重点介绍如何从源代码构建Qt for Python,如果你只想安装PySide2。 与你需要运行:pip

复制代码
pip install pyside2

有关更多详细信息,请参阅我们的快速入门指南。此外,您可以 查看与项目相关的常见问题解答

一般要求

  • Python:3.5+ 和 2.7

  • **Qt:**建议使用 5.12+

  • libclang: libclang 库,推荐:PySide10 2.5 版本 15。 可以在此处下载它的预构建版本。

  • **CMake:**需要 3.1+。

每个平台的指南

有关特定于平台的说明,请参阅以下页面:

正常的构建命令如下所示:

复制代码
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

这将使用调试 符号(包括测试 )构建和安装项目, 使用ninja (而不是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。 (set PATH=E:\Path\to\Qt\5.15\msvc2017_64\bin;%PATH%)

您还可以通过运行以下命令来运行特定测试(例如):qpainter_test

复制代码
ctest -R qpainter_test --verbose

构建文档

从 5.15 开始,有两个选项可用于构建文档:

1. 构建仅限 rst 的文档(无 API)

解析Qt标头以生成PySide API文档的过程可能需要几个时间。 分钟,这意味着修改我们当前拥有的 RST 文件的特定部分可能会 成为一项艰巨的任务。

为此,您可以在虚拟环境中安装,并执行以下命令:sphinx

复制代码
python setup.py build_rst_docs

这将生成一个具有以下结构的目录:html/

复制代码
html
└── pyside2
    ├── index.html
    ├── ...
    └── shiboken2
        ├── index.html
        └── ...

因此,您可以在浏览器上打开主页以检查生成的 文件。html/pyside2/index.html

这在更新文档的一般部分、添加教程、 修改构建说明等。

2. 构建文档(rst + API)

该文档是使用 qdoc 生成的,以获取 API 信息,以及本地 Python 相关注释的狮身人面像

系统需要 和 ,也在 Python 环境中,并且需要在运行安装过程之前安装:libxml2libxsltsphinxgraphviz

复制代码
pip install graphviz sphinx

安装后,命令需要在 PATH 中,否则, 该过程将失败。还可以选择在系统范围内安装。graphvizdotgraphviz

由于该过程依赖于Qt安装,因此您需要指定目录的位置 您将与位于:qtbaseqmake

复制代码
export QT_SRC_DIR=/path/to/qtbase

构建过程完成后,您可以转到生成的目录,然后运行:_build/_release/pyside2

复制代码
make apidoc

注意

make 目标以 QCH(Qt 创建者帮助)格式构建离线文档 默认情况下。您可以使用配置选项切换到构建以供在线使用。apidoc--doc-build-online

最后,您将获得一个包含所有生成文档的目录。离线 帮助文件和 可以移动到您选择的任何目录。你 可以在构建目录中找到,.htmlPySide.qchShiboken.qchShiboken.qch*_build*_release\shiboken2\doc\html

查看脱机文档

离线文档(QCH)可以使用Qt Creator IDE或Qt助手查看,即 用于查看QCH文件的独立应用程序。

要使用Qt Creator查看QCH,请按照使用Qt Creator帮助模式中概述的说明进行操作。如果您选择 请改用Qt助手,在启动前使用以下命令注册QCH文件 Qt助手:
助手 -注册 PySide.qch
注意

Qt Assistant 使用 QTextBrowser 后端渲染 QCH 内容,该后端支持 CSS样式的子集,但是,Qt Creator提供了另一种基于litehtml的样式。 后端,提供更好的浏览体验。目前,这不是默认设置 后端,因此您必须选择litehtml后端 明确在 中的选项卡下。GeneralQt Creator >> Tools >> Options >> Help

使用内部工具

可以在存储库内的目录下找到一组工具。tools/pyside-setup

  • checklibs.py:用于分析 Mach-O 二进制文件的动态库依赖项的脚本。 要使用此实用程序,只需运行:

    复制代码
    python checklibs.py /path/to/some.app/Contents/MacOS/Some

    此脚本是从此存储库中获取的。

  • create_changelog.py:用于创建可在目录中找到的更改日志的脚本。用法:dist/

    复制代码
    python create_changelog.py -r 5.15.1 -v v5.15.0..5.15 -t bug-fix
  • debug_windows.py:此脚本可用于找出为什么 PySide2 模块 无法加载各种DLL错误,例如缺少DLL或DLL中缺少符号。

    您可以将其视为 / 的 Windows 版本。lddLD_DEBUG

    在它下面使用命令行调试器和工具,两者都 与最新的 Windows 套件一起安装。cdb.exegflags.exe

    目的是要求用户在遇到 PySide2 导入不起作用时运行此脚本 窗户。然后,用户应提供生成的日志文件。

    顺便说一下,它也可以用于任何Windows可执行文件,而不仅仅是Python。 要使用它,只需运行:

    复制代码
    python debug_windows.py
  • missing_bindings.py:此脚本用于比较 PySide2 和 PyQt5 的状态 关于可用的模块和类。此内容显示在我们的维基页面中, 并且可以按如下方式使用:

    复制代码
    python missing_bindings.py --qt-version 5.15.1 -w all
相关推荐
娅娅梨1 分钟前
C++ 错题本--not found for architecture x86_64 问题
开发语言·c++
汤米粥7 分钟前
小皮PHP连接数据库提示could not find driver
开发语言·php
冰淇淋烤布蕾10 分钟前
EasyExcel使用
java·开发语言·excel
拾荒的小海螺16 分钟前
JAVA:探索 EasyExcel 的技术指南
java·开发语言
秀儿还能再秀30 分钟前
机器学习——简单线性回归、逻辑回归
笔记·python·学习·机器学习
马剑威(威哥爱编程)41 分钟前
哇喔!20种单例模式的实现与变异总结
java·开发语言·单例模式
白-胖-子1 小时前
【蓝桥等考C++真题】蓝桥杯等级考试C++组第13级L13真题原题(含答案)-统计数字
开发语言·c++·算法·蓝桥杯·等考·13级
好睡凯1 小时前
c++写一个死锁并且自己解锁
开发语言·c++·算法
java—大象1 小时前
基于java+springboot+layui的流浪动物交流信息平台设计实现
java·开发语言·spring boot·layui·课程设计
yyqzjw1 小时前
【qt】控件篇(Enable|geometry)
开发语言·qt