问题标签 [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.

0 投票
2 回答
1022 浏览

qt - QGraphicsView 中的透明 QLabel 是个好主意吗?

我正在尝试编写一款软件,该软件允许单击视频帧并标记帧中某个位置的 x、y 坐标。为了设计这个,我一直想使用 QGraphicsView 子类,并在鼠标单击事件上,在单击发生的位置实例化一个带有 PNG 图像“目标”的 QLabel。

到目前为止,除了让 QLabel 透明之外,我已经完成了所有工作。我在网上找到的所有信息似乎都不适用于最新的 Qt。我是否应该完全重新考虑我的设计并在 Qt 中利用某种与绘画的集成?或者有没有办法挽救 QLabel PNG 实现并确实使标签透明?

谢谢,--丹妮。

0 投票
6 回答
7854 浏览

qt - QGraphicsView:禁用自动滚动

我想要一个永远不会自动滚动的 QGraphicsView。

类似:基本上,我的问题与http://developer.qt.nokia.com/forums/viewthread/2220相同,但该线程没有收到答案。

到目前为止我已经尝试过:

  • 在 showEvent() 和 resizeEvent() 中,我执行 ui->graphicsView->fitInView(...),只要项目不超出屏幕矩形,它就可以正常工作
  • 我也尝试过操纵视图变换,但除了缩放它的系数永远不会改变,所以这也是徒劳的
  • 禁用滚动条外观也无济于事

另见http://doc.qt.io/qt-4.8/qgraphicsview.html

0 投票
3 回答
6170 浏览

qt - 在 Qt GraphicsView 中创建长线(或交叉线)光标的最佳方法

创建长十字线光标(只要视口)的简单方法是创建十字线graphicsItem,当鼠标移动时,设置项目的pos属性。但是这种方式在场景复杂的时候会很慢,因为它要更新整个视口来更新光标的pos.

另一种简单的方法是setCursor(QCursor(..)),使用aQPixmap来定义长十字线,这种方式会非常快,但光标会超出视口矩形。

还有另一种方法可以快速显示长十字线光标吗?

非常感谢!

0 投票
1 回答
1045 浏览

qt4 - 裁剪子 QGraphicsItems

我有一个QGraphicsItem包含其他几个QGraphicsItems.

在移动它们时,如何确保这些子项被绘制并裁剪到父项的矩形?

0 投票
3 回答
14210 浏览

c++ - 如何在 QGraphicsView 中平移图像

我目前能够将我的图像加载到图形场景中,然后再次加载到 QGraphicsViewer 中。

我可以通过检测 QEvent::Wheel 然后调用 graphicsViews 的 scale() 函数来实现缩放功能。

但是,我似乎无法弄清楚如何使平移功能正常工作。我基本上想检测鼠标何时单击图像,然后随着鼠标向左、向右、向上或向下移动图像。

截至目前,我基本上有一个 MouseFilter 类来检测事件,并根据事件类型做不同的事情。我将该侦听器附加到 QGraphicsView 对象

0 投票
2 回答
2238 浏览

c++ - Qt - 如何将坐标映射到场景中的图像像素

我在 Qt 中创建了一个场景,我从开放的街道地图 [.png] 中获取了一张图像并将其放入场景中。我还在另一个文件中导出了它的坐标。我的问题是如何将我的图像像素映射到地图坐标。基本上我想将地图中的道路绘制到我的图像中。谢谢

0 投票
2 回答
291 浏览

qt - 从 QGraphicsLinearLayout 计算场景坐标

在我的应用程序中,我使用了从 QGraphicsWidget 派生的自定义对象,并将它们放在 QGraphicsLinearLayout 中。但现在我需要找到每个项目的场景坐标。可能吗?如何?

0 投票
1 回答
2042 浏览

python - 如何在具有许多项目的 2D 静态场景中提高 QGraphicsView 性能?(没有办法解决?)

如果理解正确,QGraphicsView 应该可以有效地处理百万个项目。

在我的应用程序中,我只有几千个,性能已经很差了。当 View 显示整个场景时,缩放、hoverEnvents 和任何其他东西都变得不可能。

我试图在项目和不同的优化标志之间创建父子关系,但结果仍然相同。我真的希望我犯了一些愚蠢的错误,但是在寻找解决问题的方法几天后,我没有找到任何解决方案。

我真的很感激任何帮助!

这重现了我的问题:

  • Intel(R) Xeon(R) CPU E5410 @ 2.33GHz
  • nVidia Corporation G84 [Quadro FX 1700]
  • Ubuntu 9.04 64 位
  • qt4 4.5.3
  • python-qt4 4.6
0 投票
1 回答
731 浏览

c++ - 创建自定义 QGraphicsItem 时拦截鼠标事件

我正在使用标准的 QGraphicsView 和 QGraphicsScene,但是为了能够在 ImagePixmapItem 上使用鼠标事件,我将 QGraphicsPixmapItem 子类化为我自己的 ImagePixmapItem。

我需要做什么才能捕捉到这些事件?我已经覆盖了几个这样的函数:

但是,这些 qDebug 语句都不会打印到控制台。我是否需要更改有关我的场景或图形视图的任何其他内容?在 ImagePixmapItem 的构造函数中,我确实添加了一些东西:

但它没有做任何好事。

0 投票
1 回答
147 浏览

java - 如何将jchart转换成csv格式

请谁能告诉我如何将 JChart 转换为 csv 格式,以便我可以将图表数据保存为 csv 格式