警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

渲染SVG文件

使用Qt SVG模块渲染SVG文件

Qt SVG 提供了用于渲染 SVG 文件的类。要包含模块类的定义,请使用以下指令:

from PySide6 import QtSvg

要链接到模块,请将此行添加到您的 qmake .pro 文件中:

QT += svg

渲染SVG文件

可缩放矢量图形(SVG)是一种用于描述二维图形和图形应用程序的XML语言。SVG 1.1是W3C推荐标准,构成了Qt中当前SVG开发的核心。SVG 1.2是SVG工作组目前正在开发的规范,并且以草案形式提供。移动SVG配置文件(SVG Basic和SVG Tiny)针对资源有限的设备,是第三代移动电话3GPP平台的一部分。您可以在关于SVG中阅读更多关于SVG的信息。

Qt 支持 SVG 1.2 Tiny 的静态特性。目前不支持 ECMA 脚本和 DOM 操作。

自 Qt 6.7 起,支持了 SVG 1.1 标准的一些附加功能

SVG绘图可以渲染到任何QPaintDevice子类上。这种方法为开发者提供了灵活性,以便为每个应用程序找到最佳解决方案。

渲染SVG文件的最简单方法是构造一个QSvgWidget并使用load()函数之一加载SVG文件。

QSvgRenderer 是负责为 QSvgWidget 渲染 SVG 文件的类,它可以直接用于为自定义小部件提供 SVG 支持。要加载 SVG 文件,可以使用文件名或文件内容构造一个 QSvgRenderer,或者在现有的渲染器上调用 load()。如果 SVG 文件已成功加载,isValid() 将返回 true。

一旦你成功加载了SVG文件,你可以使用render()函数来渲染它。请注意,这个方案允许你在Qt支持的所有绘图设备上渲染SVG文件,包括QWidget、QGLWidget和QImage。