​Qt for Python 入门¶​

news2024/5/18 18:29:19

本页重点介绍如何从源代码构建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+。

每个平台的指南¶

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

  • 窗户

  • 苹果操作系统

  • Linux目录

  • 移动平台(iOS/安卓)(不支持)

  • 嵌入式平台(无官方支持)

    注意

    大多数基于 Linux 的嵌入式操作系统都提供 PySide2 及其官方 包管理器(例如 Raspbian和 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

这将使用调试符号(包括测试)构建和安装项目, 使用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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1010295.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

博客系统(升级(Spring))(四)(完)基本功能(阅读,修改,添加,删除文章)(附带项目)

博客系统 (三) 博客系统博客主页前端后端个人博客前端后端显示个人文章删除文章 修改文章前端后端提取文章修改文章 显示正文内容前端后端文章阅读量功能 添加文章前端后端 如何使用Redis项目地点: 博客系统 博客系统是干什么的? CSDN就是一…

Activity生命周期递归问题查看

这类问题一般比较难分析,符合以下情况的才有可能分析出来: 能够复现并调试有问题时的堆栈以及对应的event log TaskFragment#shouldSleepActivities 方法导致递归 There is a recursion among check for sleep and complete pause during sleeping 关…

dlib库详解及Python环境安装指南

dlib是一个开源的机器学习库,它包含了众多的机器学习算法,例如分类、回归、聚类等。此外,dlib还包含了众多的数据处理、模型训练等工具,使得其在机器学习领域被广泛应用。本文将详细介绍dlib库的基本概念、功能,以及如…

删除数据库

MySQL从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129334507?spm1001.2014.3001.5502 语法格式: drop database 数据库名称;这个命令谨慎使用,俗话说:删库跑路! 案列:删除testing数据库,并验证 mysql> show databases; -----------…

Kernel for SQL Database Recovery 21.1 Crack

SQL Server恢复工具 Kernel for SQL Database Recovery 21.1 具有针对不同 SQL Server 版本的全面恢复选项。它具有预览和选择功能来恢复精确的数据库对象。 好处 SQL 数据库恢复可为您带来多种好处。 完全恢复所有数据库组件 将损坏的 MDF/NDF 文件有效恢复到 Live SQL Serve…

HDMI 直通 ILA 调试实验

FPGA教程学习 第十四章 HDMI 直通 ILA 调试实验 文章目录 FPGA教程学习前言实验原理程序设计实验过程实验尝试总结TODO 前言 HDMI 输入直通到 HDMI 输出的显示,完成一个简单的 HDMI 输入输出检测。 实验原理 开发板 HDMI 输出接口芯片使用 ADV7511,HD…

【深度学习】 Python 和 NumPy 系列教程(廿二):Matplotlib详解:2、3d绘图类型(8)3D饼图(3D Pie Chart)

一、前言 Python是一种高级编程语言,由Guido van Rossum于1991年创建。它以简洁、易读的语法而闻名,并且具有强大的功能和广泛的应用领域。Python具有丰富的标准库和第三方库,可以用于开发各种类型的应用程序,包括Web开发、数据分…

期权交易保证金比例一般是多少?

期权交易是一种非常受欢迎的投资方式之一,它为期权市场带来了更为多样化和灵活化的交易形式。而其中的期权卖方保证金比例是期权交易中的一个重要指标,直接关系到投资者的风险与收益,下文介绍期权交易保证金比例一般是多少?本文来…

第六章 图 九、拓扑排序

一、AOV网 二、拓扑排序 删除入度为0的结点。 第一次遍历,入度为0的点为0和2,将他们加入排序序列0->2 第二次遍历,入度为0的点为1和4,将他们加入排序序列0->2->1->4 第三次遍历,入度为0的点为3&#xf…

【webrtc】VCMSessionInfo 合并一个可解码的帧

知乎大神的概括:VCMFrameBuffer 帧中包含VCMSessionInfo的处理,对VPX、h264(分析Nalus)的同一帧中的所有包进行过滤并进行完整帧组帧,用于sink给后续的解码。用于解码器的所以插入的数据都是VCMPacketframe_buffer指向一帧的起始数据地址&…

Django系列:Django简介与MTV架构体系概述

Django系列 Django简介与MTV架构体系概述 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/details/132890054 【介…

企业架构LNMP学习笔记43

memcached的使用: 命令行连接和操作: telnet连接使用: memcached默认使用启动服务占用tcp 11211端口,可以通过telnet进行连接使用。 安装telnet进行连接: 连接成功,敲击多次,如果看到error&…

Linux常用命令字典篇

Linux命令 1. 翻页查看文件 less [-N] 文件名:可以向后翻页,也可以向前翻页,-N表示显示行号 more 文件名:仅可以向后翻页 2. 端口占用信息查看 netstat -tunlp | grep 端口号:查看端口号对应的信息 lsof i: 端口号…

Marin说PCB之封装设计系列---(02)--异形焊盘的封装设计总结

每天下班回家看电视本来是一件很美好的事情,可是正当我磕着瓜子看着异人之下的时候,手机突然响起来了,我以为是我们组哪个同事找我呢。一接电话居然是我的老朋友陈世美陈总,江湖人称少妇杀手。给我打电话主要是说他最近遇到一个异…

vite和webpack的区别

vite和webpack的区别 1、前言2、Webpack2.1 Webpack简述2.2 Webpack常用插件 3、Vite3.1 Vite简述3.2 Vite插件推荐 4、区别4.1 开发模式不同4.2 打包效率不同4.3 插件生态不同4.4 配置复杂度不同4.5 热更新机制不同 5、总结 1、前言 Webpack和Vite是现代前端开发中非常重要的…

线性代数的本质(九)——二次型与合同

文章目录 二次型与合同二次型与标准型二次型的分类度量矩阵与合同 二次型与合同 二次型与标准型 Grant:二次型研究的是二次曲面在不同基下的坐标变换 由解析几何的知识,我们了解到二次函数的一次项和常数项只是对函数图像进行平移,并不会改变…

HSRP(热备份路由选择协议)的概念,原理与配置实验

作者:Insist-- 个人主页:insist--个人主页 梦想从未散场,传奇永不落幕,持续更新优质网络知识、Python知识、Linux知识以及各种小技巧,愿你我共同在CSDN进步 目录 一、了解HSRP协议 1. 什么是HSRP协议 2、HSRP协议的…

2023年主流固定资管理系统的特征

随着科技的不断发展,固定资产管理系统也在不断演进,以满足企业日益增长的管理需求。在2023年,主流固定资产管理系统将呈现出一些重要的特征,包括RFID功能、低代码平台功能和云计算功能。易点易动固定资产管理系统正是结合了这些特…

UWB芯片DW3000之PDOA测向实现源码

介绍 DW3000芯片的双天线端口特性可以测量无线输入信号的相位。当与天线响应的信息相结合时,这些信息可以用来帮助确定到达的方向和传输的位置。 根据设备的不同,将有一个或两个天线端口。具有两个天线端口的设备称为PDoA部件,而其他是非PDoA部件(见表1)。当涉及到到达相位…

算法分析与设计编程题 贪心算法

活动安排问题 题目描述 解题代码 vector<bool> greedySelector(vector<vector<int>>& intervals) {int n intervals.size();// 将活动区间按结束时间的从小到大排序auto cmp [](vector<int>& interval1, vector<int>& interval2…