问题标签 [qgraphicssvgitem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
368 浏览

python - ItemClipsToShape QGraphicsSVGItem

下面的标志没有做它应该做的事情并剪裁形状。相反,它会创建一个矩形选区。

在此处输入图像描述在此处输入图像描述

如何将选择剪辑制作成形状?

测试.svg

svg_mouse.py

0 投票
0 回答
245 浏览

python - 在具有矢量效果的 pyqt5 中调整 svg 图像大小的问题

我在QGraphicsScene上有QGraphicsSvgItem。我正在尝试使用位于QGraphicsSvgItem边界矩形的夹点项目(线)来调整它的大小。在test.svg文件中,我将矢量效果属性设置为非缩放笔划。
当我通过拉伸夹点项目来调整它的大小时,它会在边界矩形和 svg 图像的轮廓之间产生空白空间。这是 test.svg 文件,请参阅最后一个<g>标签的样式。

下面是代码

test.svg

在图片中,我使用夹点项目(在左侧显示为垂直线)拉伸项目,然后在夹点项目和图像边界之间创建间隙。

0 投票
1 回答
130 浏览

python - QGraphicsSVGItem 忽略(一些)剪切路径。为什么?

此 SVG 图像 在 Firefox 和 Inkscape 中正确呈现,但由于某种原因,在QGraphicsSVGItem没有任何花哨的情况下使用时,它会以这种方式呈现:

b7438226-8ead-4e81-b541-9888b03058e9-image.png

作为参考,这是它在 Firefox 上的样子:

83ecb93a-bfdf-45fc-b41c-5255655ae7e3-image.png

如您所见,卡片的背面不应超出白色边框。

难道我做错了什么?有(最好是简单的)修复吗?

MWE:

0 投票
0 回答
218 浏览

python - 如何在pyqt5中改变QGraphicsSvgItem的颜色?

所以我想改变 QGraphicsScene 中 QGraphicsSvgItem 的颜色。我有这个小代码片段:

这会用指定的颜色填充 svgitem 的完整 boundingRect。我搜索了 QPainter 的文档以找到一种仅填充 svg 路径但找不到任何东西的方法。

我还尝试了以下方法:

0 投票
0 回答
24 浏览

python - 使用 QGraphicsSvgItem 元素的 UI

我希望将 QGraphicsView UI 的一堆按钮合并到一个 svg 文件中。我能够将 svg 加载到我的图形视图中。我可以用鼠标单击并映射项目,但它只是 QGraphcisSvgItem。我希望能够找出鼠标下方的元素,以便更改悬停时的不透明度,添加用于单击每个元素的独特功能等。

有什么方法可以在 QGraphcicsSvgItem 的鼠标下获取 elementID?

0 投票
2 回答
172 浏览

qt - QGraphicsSvgItem:没有这样的文件或目录

我想创建一个飞机高度指示器并将其嵌入到 PyQt5 中。

我找到了一个 GitHub 存储库,其中包含使用 cpp 构建的自定义高度指示器。以下是 github 存储库的链接。

https://github.com/marek-cel/QFlightinstruments

文末附有视频教程。我按照他遵循的确切步骤进行操作。但是当我运行它时,我得到了以下错误。

qfi_EADI.h、qfi_EHSI.h 和 qfi_HI.h 也显示相同的错误。

我已包含头文件并将以下行添加到我的 .pro 文件中

下面是我的 qfi_AI.h 文件(.h 和 cpp 文件可以在 github 中找到)

我该如何解决这个问题?

0 投票
1 回答
64 浏览

c++ - svg 背景 未画 qt

我正在尝试在 Qt 的 QGraphicsView 中显示 .svg 文件的内容。为此,我使用:

svg 的内容由绘制在背景图像上的几行组成,使用以下方法加载到 svg 中:

sample.png 图像与我要显示的 .svg 文件位于同一路径中。如果我直接从浏览器打开它,浏览器会正确绘制图像,但是在 QGraphicsView 中只绘制线条,而不是背景图像。

我从搜索中尝试了许多选项,但我找不到发生这种情况的原因。谢谢您的帮助

这是一个示例 SVG 文件,图像 sakura.jpg 应与 svg 文件位于同一目录中: