本页内容

VectorImage QML Type

加载矢量图像文件并将其显示在Qt Quick 场景中。更多...

Import Statement: import QtQuick.VectorImage
Since: Qt 6.8
Inherits:

Item

属性

详细说明

VectorImage 可用于加载矢量图像文件,并将其作为Qt Quick 场景中的一个元素进行显示。

它目前支持SVG 文件格式。此外,可通过将assumeTrustedSource 属性设置为true,并从 Qt Lottie Animation 模块中引入该插件。

注意:这与 通过Image 元素加载矢量图像文件的方法相辅相成:Image 会按指定尺寸生成图像的栅格版本;而VectorImage则构建一个代表该图像的Qt Quick 场景。这意味着生成的项可以在不损失画质的情况下进行缩放和旋转,且通常比栅格化版本占用更少的内存。

属性文档

animations group

animations.loops : int [since 6.10]

animations.paused : bool [since 6.10]

如果图像中包含动画,则可以使用这些属性来控制动画。

将paused 属性设置为true可暂时暂停所有动画。当该属性重置为false 时,动画将从中断处继续播放。默认情况下,该属性值为false 。

loops 属性定义文档中动画的重复次数。默认情况下,该属性值为1。源图像中设置为无限循环的动画不受此属性影响。若要使文档中的所有动画无限循环,可将loops 属性设置为Animation.Infinite 。

这些属性是在 Qt 6.10 中引入的。

assumeTrustedSource : bool [since 6.10]

在加载受信任的源文件时将此选项设置为 true,可扩展对某些功能的支持,这些功能在不受控的环境中可能存在安全风险。特别是对于 SVG,这对应于 `AssumeTrustedSource option`。

当此选项设置为 true 时,如果可用,VectorImage 还会尝试使用 Lottie 格式插件加载图像。有关更多信息,请参阅 Qt Lottie Animation 以获取更多信息。

默认情况下,此属性为false 。

该属性在 Qt 6.10 中引入。

另请参阅 svgtoqml和lottietoqml。

asynchronous : bool [since 6.12]

该属性控制图像是否以异步方式加载。当设置为true 时,图像加载期间用户界面仍将保持响应。可使用status 属性查看当前进度。

默认情况下,该属性的值为false 。

该属性在 Qt 6.12 中引入。

另请参阅 asynchronousShapes 和status 。

asynchronousShapes : bool [since 6.11]

该属性控制“Quick”场景中Shape 项的{QtQuick.Shapes::Shape::asynchronous}{asynchronous}属性,该场景由VectorImage 生成以呈现图像。

将此属性设置为true 将把形状渲染处理中的CPU部分卸载到单独的工作线程上。这可以提高CPU利用率并提升用户界面的响应速度。

默认情况下,该属性值为false 。

该属性在 Qt 6.11 中引入。

另请参阅 ` asynchronous`。

fillMode : enumeration

该属性定义了当VectorImage 的宽度和高度与其内容的隐式尺寸不一致时应如何处理。

常量描述
VectorImage.NoResize内容仍按输入提供的尺寸进行渲染。
VectorImage.Stretch内容将被缩放以匹配VectorImage 的宽度和高度。(这是默认行为。)
VectorImage.PreserveAspectFit内容将被缩放以适应VectorImage 的边界,同时保持宽高比。内容的实际边界矩形有时会小于VectorImage 项。
VectorImage.PreserveAspectCrop内容将按比例缩放以填满VectorImage 项,同时保持宽高比。内容的实际边界有时会大于VectorImage 项。

generatedItem : Item [read-only, since 6.12]

加载矢量图像文件时,该属性保存生成的Qt Quick 场景中的顶级Item。若未加载任何文件,该属性的值为null 。

该属性在 Qt 6.12 中引入。

preferredRendererType : enumeration

请求指定一个后端,用于在VectorImage 中渲染形状。

常量描述
VectorImage.GeometryRenderer等同于 Shape.GeometryRenderer。该后端会将曲线展平并将其结果三角化。除非启用了多重采样,否则会产生锯齿现象,且当对象被缩放时,曲线展平的效果可能会变得明显。
VectorImage.CurveRenderer等同于 Shape.CurveRenderer。使用此后端时,曲线在 GPU 上渲染,并内置了抗锯齿功能。通常能提供更好的视觉效果,但会带来一定的性能开销。

默认值为VectorImage.GeometryRenderer 。

retainWhileLoading : bool [since 6.12]

该属性定义了在source 属性发生变化且加载以异步方式进行时的行为。当asynchronous 属性设置为true 时,即属于这种情况。

如果 `retainWhileLoading ` 属性为 `false `(默认值),则旧图片会立即被丢弃,并在加载新图片期间清空组件。如果设置为 `true`,则旧图片将被保留并保持可见,直到新图片准备就绪。

启用此属性可在加载新图像耗时较长的情况下避免画面闪烁。但代价是在加载新图像期间会消耗额外的内存。

该属性于 Qt 6.12 中引入。

另请参阅 asynchronous 。

source : url

该属性存储要加载的矢量图像文件的 URL。

VectorImage 目前支持SVG 文件格式。此外,可通过将assumeTrustedSource 属性设置为true并从 Qt Lottie Animation 模块中引入该插件,即可启用 Lottie 支持。

status : enumeration [since 6.12]

该属性表示矢量图像的加载状态。其值可以是以下之一:

常量描述
VectorImage.Null尚未设置矢量图像
VectorImage.Ready矢量图像已加载
VectorImage.Loading矢量图像正在加载中
VectorImage.Error加载矢量图像时发生错误

该属性自 Qt 6.12 起引入。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.