Qt 5.12及更高版本中的Qt QML SVG过滤器(例如feGaussianBlur)支持

Qt 5.12及更高版本中的Qt QML SVG过滤器(例如feGaussianBlur)支持,qt,svg,qml,Qt,Svg,Qml,5.12版及更高版本对Qt-QML SVG过滤器(如feGaussianBlur)的支持是否有任何更改 我需要在QML应用程序中使用SVG。但是SVG有很多过滤功能。在Inkscape、浏览器和其他软件中,SVG被正确渲染(例如,显示模糊),但在Qt应用程序中,SVG没有被正确渲染 当我在互联网上搜索时,QtQML对SVG过滤的支持有限。但是我读到的链接很旧。一些例子: 我有一个简单的图像,其中包含一个SVG文件作为源: Image { x: 0

5.12版及更高版本对Qt-QML SVG过滤器(如feGaussianBlur)的支持是否有任何更改

我需要在QML应用程序中使用SVG。但是SVG有很多过滤功能。在Inkscape、浏览器和其他软件中,SVG被正确渲染(例如,显示模糊),但在Qt应用程序中,SVG没有被正确渲染

当我在互联网上搜索时,QtQML对SVG过滤的支持有限。但是我读到的链接很旧。一些例子:

我有一个简单的图像,其中包含一个SVG文件作为源:

  Image {
          x: 0
          y: 0
          height: 120
          width: 120
          sourceSize.height: 120
          sourceSize.width: 120
          source: "qrc:/images/example.svg"
  }
SVG代码如下所示:

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" 
 width="120" height="120" viewBox="0 0 120 120">
<defs>
    <style type="text/css">
        .p {
            filter: url(#e);
        }
    </style>
    <filter id="e" x="0" y="0" width="83" height="83" filterUnits="userSpaceOnUse">
        <feOffset dx="8" dy="8" input="SourceAlpha" />
        <feGaussianBlur stdDeviation="5.0" result="f" />
        <feComposite operator="in" in2="f" />
        <feComposite in="SourceGraphic" />
    </filter>
</defs>
<g transform="translate(10.5 10.5)">
    <g class="p" transform="matrix(1, 0, 0, 1, -10.5, -10.5)">
        <circle class="a" cx="28" cy="28" r="28" transform="translate(10.5 10.5)" />
    </g>
</g>
</svg>

p{
过滤器:url(#e);
}
有关于SVG过滤支持的消息吗

还是我遗漏了什么


还有其他方法吗?

为什么不在Qt网站上询问,即您的第一个链接?感谢您的回复@Robert Longson。我也在那里发布了,如果我在那里得到任何解决方案,我会更新这个问题。到目前为止,我还没有发现任何相关的东西。渲染到底有什么问题?正如在2008年12月22日发布的Qt(5.15版的右侧)中所描述的,支持SVG(更不用说过滤器)<代码>过滤器选项是2011年8月16日发布的一部分,因此我认为QML不支持此选项。@例如,APianist,不呈现模糊。为什么不在Qt网站上询问,即您的第一个链接?感谢您的回复@Robert Longson。我也在那里发布了,如果我在那里得到任何解决方案,我会更新这个问题。到目前为止,我还没有发现任何相关的东西。渲染到底有什么问题?正如在2008年12月22日发布的Qt(5.15版的右侧)中所描述的,支持SVG(更不用说过滤器)<代码>过滤器选项是2011年8月16日发布的一部分,因此我认为QML不支持此选项。@例如,APianist不渲染模糊。