问题标签 [qgraphicsrectitem]

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 回答
2149 浏览

c++ - 如何用某种颜色填充 QGraphicsRectItem?

我一直在尝试找到一种方法来用任何颜色填充 QGraphicsRectItem 的实例,比如说红色,但是我没有找到一个明确的方法来完成这个幼稚的任务,如果你能提供一些提示那就太好了、链接等

非常感谢

0 投票
1 回答
1349 浏览

c++ - QGraphicsRectItem 的几何形状

我在 qgraphicsScene 上绘制了一个 qgraphicsRectItem。使用鼠标事件,它在场景上移动、调整大小和重新定位,即选择项目、mousePress 和mouseMove。如何在 mouseReleaseEvent 上获取 qgraphicsRectItem boundingRect、pos wrt 场景的几何形状?场景中有一个图像,并且在场景上绘制了一个 qgraphicsRectItem 的 boundingrect,然后我需要获取 qrect 以在边界矩形内裁剪该部分图像。

0 投票
2 回答
57 浏览

qt - rectItem wrt 到 qgraphicsScene 中其他 rectItem 的坐标

在 qgraphicsScene 中,我们添加了 2 个 rectItem。

在此处输入图像描述

假设首先添加红色矩形,它的左上角坐标是 (x1, y1) wrt 到 qgraphicsscene。现在在场景中添加了第二个蓝色矩形,它与红色矩形重叠。

现在我怎样才能得到红色矩形的坐标到蓝色矩形的坐标系。

没有在 rectItems 上进行父级,它只在场景中添加了 2 个 rectItems。也尝试了 mapRectFromScene 等,但没有得到结果。

0 投票
1 回答
781 浏览

c++ - 向 QTableWidget 添加水平滑块

我正在尝试为我的视频播放器设计类似时间线视图的东西。我决定使用QTableWidget时间线,因为它适合我的目的。我的小部件如下所示:

在此处输入图像描述

当我点击播放时,我希望绿线穿过小部件。这是我的 MVCE 示例:

这是TableWidget

问题:

移动线项目反映了它已添加到的场景的变化,即当我使用鼠标拖动线时,线在场景中移动但不在TableWidget.

我想要什么

我希望绿色条像水平滑块一样工作。它应该通过TableWidget水平使小部件滚动显示标题上显示的数字指示的框架的当前位置。

如下图所示(注意红线):

红线

我知道这可能不是实施时间表的最佳方式,但我希望有任何其他想法可以实施。

0 投票
2 回答
555 浏览

c++ - C++ Qt5.11 错误:“C2661:没有重载函数需要 3 个参数”

我是 Qt 新手,当我尝试从“Qt 开发基础”第 7 章编译和运行 Qt 程序时,请参阅

http://www.java2s.com/Code/Cpp/Qt/QGraphicsViewQGraphicsItemandQGraphicsScene.htm

我总是收到错误信息“错误:C2661:“QGraphicsRectItem::QGraphicsRectItem”:“没有重载函数需要 3 个参数”。我一次又一次地尝试,但都一样。有人可以帮我解决这个问题吗?谢谢。

我正在使用 Qt5.11.0 和 MSVC2017 以及 Windows 10 pro X64。

0 投票
1 回答
674 浏览

c++ - 如何通过QGraphicsProxy调整QGraphicScene中添加的QWidget的大小?

我通过 QGraphicsProxyWidget 向图形场景 (QGraphicScene) 添加了一个小部件。为移动和选择小部件添加了 QGraphicsRectItem 句柄。要调整小部件的大小,请将 QSizegrip 添加到小部件。但是,当我调整小部件的大小超过 QGraphicsRect 项目时,右和下边缘落后。如何克服这个问题? 当我调整小部件图形矩形项目的大小时,应该调整大小,反之亦然。这个怎么做?欢迎任何其他想法。这是代码

这是输出::调整大小
之前 调整大小
调整大小之前 之后 调整大小后

0 投票
1 回答
330 浏览

c++ - 为什么我不能放大 QSizeGrip 添加到 QGraphicScene 的小部件?

我通过 QGraphicsProxyWidget 向图形场景QGraphicScene添加了一个小部件。为了移动它,我将QGraphicsRectitem设置为其父级。使用 sizegrip 调整小部件的大小。

第一次创建对象时,我可以将其放大到某个维度。第二次我可以比第一次放大它。第三次小于第二次,以此类推。

在我看来,它的行为是随机的。为什么会这样?

这是代码:

代码

我不能放大小部件,如图所示。

0 投票
1 回答
1001 浏览

python - 矩形的 QGraphicsItem 交互式调整大小

我正在制作一个应用程序,用户可以在其中在场景上绘制矩形、圆形和多边形。然后可以选择、删除、移动这些项目等。下面的代码显示了我为实现这一目标所做的工作:

圈子的工作代码:

我拥有的椭圆具有完全相同的代码。当我“负”调整椭圆的大小时,即在左上角上方,它会相应地调整大小。然而矩形只是消失了,它可能会留下一点红色的痕迹,但它并没有按照它应该的方式绘制。为什么长方形会有所不同?我该如何解决?

我在堆栈溢出中看到的大多数解决方案似乎都是矫枉过正,而且对于一个小的实现来说代码太多了。

0 投票
1 回答
1760 浏览

c++ - 如何使用 QPainter 缩放文本以适合边界框?

我需要在盒子上画一个标签。

理想情况下,我会用盒子的大小来缩放标签,但我不确定是否有任何内置功能可用于这种缩放。

目前我正在将对象缩放到边界框的高度,但我不确定如何实现宽度缩放,因为绘制文本的宽度取决于符号的特定顺序(由于字距调整)。

这种缩放是否有一些内置功能?

0 投票
1 回答
164 浏览

python - QGraphicsItem在移动后没有留在原地

我目前正在创建一个使用 QGraphicsView 并允许用户移动 QGraphicsItems 的应用程序,因此他们可以创建类似图表的结构。

我需要这些项目在单击时更改颜色,但在释放鼠标按钮时更改回其原始颜色。但是,当我定义“mouseReleaseEvent()”方法时,当我在移动它后单击视口上的任意位置时,该项目只会恢复到原始位置。

第一次移动后如何使项目保持原位?

为了更好地控制项目定位,我尝试对场景使用“setSceneRect()”,但并没有解决问题。

我也无法使用 CustomItem 的“setPos()”方法解决问题。当同一场景中有多个项目时,坐标系似乎会发生变化。

另一个问题是,当鼠标悬停在某些其他项目上时,它们应该会改变颜色。我尝试覆盖 CustomItem 类中的“hoverEnterEvent()”方法,但它不起作用。

这是重现我面临的问题的最小代码。