问题标签 [qgraphicsview]
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.
qt - 如何在 QGraphicsView 上锚定 QGraphicsWidget/Item(使它们成为静态)
我想做一个类似hud的东西。我有QGraphicsScene
一个巨大QPixmap
的,我添加到一个小得多QGraphicsView
。现在我需要添加一些控制元素,QLabel
例如QPushButton
和QGraphicsEllipseItem
。我认为这不是问题。我发现这个有用的页面Graphics View Classes。但是我如何将这个控制元素锚定到视图上,或者更好地说我如何不锚定它们?当我拖动 时QPixmap
,我不希望 hudQPixmap
与QGraphicsView
. 我需要做什么,才能解决这个问题。希望可以有人帮帮我。
qt - 如何在 QGraphicsView 中的 QGraphicsScene 上绘制椭圆/圆
我有一个带有 QGraphicsScene 的 QGraphicsView。QGraphicsScene 包含一个 QPixmap。可以拖动场景。在那个场景之上,我有一个带有 QLabels、QPushButtons 和其他东西的 HUD。当我拖动场景时,HUD 元素永远不会改变它们的位置。到目前为止,一切都很完美。但现在我需要向这个 HUD 添加一个新元素,一个椭圆/圆。但是我尝试过的所有东西都无法正常工作。问题是,如果你在那个圆圈上,用鼠标,它必须仍然可以抓取和拖动场景。所以我只需要一个可见的圆圈,鼠标或任何其他动作都会完全忽略它。我怎样才能做到这一点?
qt - 如何在 QGraphicsView 的前景中添加弧线
如何将 QPainter 弧添加到 QGraphicsView 前景。我找到了 QGraphicsView.drawForeground (self, QPainter, QRectF),但我不明白如何使用它。我是qt的新手。我也知道可以向 QGraphicsScene 添加艺术,但我需要场景来做其他事情。或者有没有更简单的方法将场景中的弧线添加到 QGraphicsView?弧必须是可变的。希望可以有人帮帮我。
c++ - 如何在 Qt 中创建旋转立方体效果?
我有一个 QGraphicsView 和一个 QGraphicsScenes 的幻灯片放映,当用户切换到下一张幻灯片时,我只是更改了视图正在查看的场景,它会立即更改以反映这一点。
我想做的是创建一些过渡效果,例如旋转立方体或滑入/滑出。
然而,看看 QPropertyAnimation 类,它似乎是关于移动一个不从一个对象转换到另一个对象的对象。
就像我需要每个场景的视图,然后在每个视图之间转换。
我还可以采用什么其他策略?
c++ - 如何打印 QGraphicsView 的内容
如何QGraphicsView
在 Qt 中打印 a 的内容?
非常感谢。
qt - 如何在 QGraphicsScene 中选择多个项目而不按 Ctrl 键?
在 Qt 中QGraphicsScene
,如果我想要一个项目,只需单击它,然后单击另一个可选择的项目将使所选项目被取消选择。如果我想选择多个项目,我会使用 Ctrl 键。但这在某些情况下可能不方便,那么如何在不按 Ctrl 键的情况下选择多个项目QGraphicsScene
呢?
qt4 - Qt4 QGraphicsView:如何在浮动位置上设置 QPen
我有一个带有图像和自定义光标的 QGraphicsView。光标由两条 QPen-DotLine 组成。一条 x 轴点线和一条 y 轴点线。两条线的交叉点是鼠标光标的位置。问题是,当我放大时,十字不在鼠标光标位置下方。例如,当鼠标光标的值为 x = 1.4235 和 y = 2.7732 时,点线设置在 x = 1 和 y = 2 的位置。但我希望点线位于浮动位置(x = 1.4235答案 y = 2.7732)。我怎样才能做到这一点。
我得到的鼠标位置
以及我用 setPos() 设置的点线。我认为 setPos() 将 float 转换为 int。但我不知道如何解决。希望你们中的某个人有一个有用的想法。
c++ - 如何在不丢失鼠标抓取的情况下将 QGraphicsItem 移动到另一个场景?
我有一个QGraphicsScene
作为主场景,其中有几个可移动QGraphicsItem
的 s,另一个QGraphicsScene
在主场景的顶部作为叠加层。覆盖场景与用户显示的大小完全相同,而主场景要大得多,因此需要自动上下滚动。
如果要移动主场景中的某个项目,我想从主场景中删除该项目并将其添加到覆盖场景中,让用户在覆盖场景中移动该项目,并且只要释放鼠标把它放回主场景。这使我可以在项目接近显示边缘时平滑地自动滚动主场景。
问题如下;当一个项目从其场景中移除时,它会收到一个QMouseUngrab
事件,因此如果不在覆盖场景中再次单击它,就无法继续移动该项目。我试图阻止 unrab 事件或QMousePress
在覆盖场景中生成假事件,但是它们都没有解决问题。
你知道我如何开始在一个场景中移动一个项目并继续在另一个场景中移动它而不会有任何中断吗?
换句话说:
QMousePress
发生在主场景- 在叠加场景中应该发生几个
QMouseMove
s 和最后一个QMouseRelease
- 项目之后
QMouseRelease
将立即放回主场景
c++ - 如何使用 QGraphicsView 的 QGraphicsItem 类绘制三角形
我想QGraphicsView
使用QGraphicsItem
. 但我不知道如何根据三角形来实现边界矩形。