扩展功能
Qt SVG 模块支持SVG 1.2 Tiny的静态特性。
该模块还支持一些可能有用的额外功能。默认情况下,QSvgRenderer 会解析所有功能(包括额外功能集)。您可以通过在QSvgRenderer::setOptions()中传入QtSvg::Tiny12FeaturesOnly 标志,指示渲染器忽略这些额外功能。
扩展功能
截至 Qt 6.7 版本,Qt 支持以下扩展元素及相关属性:
- maskSVG 1.1
- symbolSVG 1.1和SVG 2
- markerSVG 1.1
- patternSVG 1.1
- filterSVG 1.1
- feColorMatrixSVG 1.1
- feCompositeSVG 1.1
- feFloodSVG 1.1
- feGaussianBlurSVG 1.1
- feOffsetSVG 1.1
- feMergeSVG 1.1
蒙版
支持通过 `<mask> ` 元素和 `mask` 属性实现蒙版。
注意: 不支持< clipPath>。
<mask>
支持<mask> 元素的以下属性:
xywidthheightmaskUnitsmaskContentUnits
所有图形和结构化 SVG 元素均支持mask 属性。
符号、标记和图案
<symbol>
支持<symbol> 元素的以下属性:
x(摘自 SVG 2)y(源自 SVG 2)width(摘自 SVG 2)height(源自 SVG 2)preserveAspectRatioviewBox
<marker>
<marker> 元素支持以下属性:
markerUnitsrefXrefYmarkerWidthmarkerHeightorientpreserveAspectRatioviewBox
以下属性
marker-startmarker-midmarker-end
在<path> 、<line> 、<polyline> 和<polygon> 上均受支持。
<pattern>
支持以下属性:
xywidthheightpatternUnitspatternContentUnitspatternTransformviewBox
不支持以下属性:
preserveAspectRatioxlink:href
滤镜
SVG文档中的滤镜可对元素、元素的某些部分或元素下方的背景应用图形效果。Qt支持对整个元素应用滤镜效果。Qt不支持仅对元素的填充或描边(FillPaint 和StrokePaint )或其背景(BackgroundImage 和BackgroundAlpha )应用滤镜。
<filter>
<filter> 元素支持以下属性:
xywidthheightfilterUnitsprimitiveUnits
<filter> 元素不支持以下属性:
filterResxlink:href
filter 属性适用于所有图形和结构型SVG元素。
滤波器基元
filter 元素包含各种滤镜基元。Qt 支持最重要的滤镜基元(见下文)。
所有滤波器基元都共享一组共同的属性。支持以下属性:
xywidthheightin(支持的属性包括SourceGraphic、SourceAlpha以及所有对滤波器的引用)result
以下属性不被支持:
in(不支持的属性包括:BackgroundImage、BackgroundAlpha、FillPaint以及StrokePaint)
<feColorMatrix>
支持以下属性:
typevalues
<feGaussianBlur>
支持以下属性:
stdDeviation
不支持以下属性:
edgeMode(该实现与none一致)
<feOffset>
支持以下属性:
dxdy
<feMerge> 和 <feMergeNode>
无其他属性。
<feComposite>
支持以下属性:
operatork1k2k3k4
<feFlood>
支持以下属性:
flodd-colorflood-opacity
© 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.