注意
本节包含从 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 平台的一部分。您可以在 About SVG 中了解更多关于 SVG 的信息。
PySide6 支持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。