问题标签 [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.
c++ - 如何在 qgraphicsview 周围移动 QPixMapImage
我可以将 QPixMapImage 添加到 QGraphicsScene,但是我有两个问题。
首先,我无法创建指向在标题中声明的 QPixmapItem 的指针,而我可以使用 QGraphicsScene。
我收到一个错误“错误:没有调用'QGraphicsPixmapItem :: QGraphicsPixmapItem(MainWindow * const)的匹配函数”......当我以同样的方式在Main中创建我的QGraphicsScene时?
第二个问题:当滑块移动时,我无法移动 QGraphicsPixmapItem (obv 我不会直到指针工作)。但是我可以移动它,还是我必须重新粉刷它?
标题:
c++ - 从 QGraphicsScene 中移除 Qpixmap
在处理 QGraphicsScene 和 QPixmap 时,我遇到了一个问题。我正在按顺序显示由相机捕获的帧。QTimer 对象每 100 毫秒调用一次 updateSingleView() 函数。那是我的内在功能:
Gui 正在显示相机的视图,但不幸的是存在内存泄漏,调用时scenes.at(0)->addPixmap(QPixmap::fromImage(Img));
我认为该removeItem
函数应该破坏旧的 QPixmap,但显然不是。你知道为什么会发生泄漏以及如何解决它吗?
qt - 使用 QGraphicsView 显示本地地图
我正在尝试使用 QGraphicsView 来显示地图图像并在其上绘制一些项目。地图边界位于笛卡尔坐标系中,例如 NE(-500,200) 到 SW(600,-350)。我知道如何映射图像像素 <--> 我的坐标系。
我必须实现以下目标:
- 将地图图像添加到场景并告诉 Qt 如何将实际图像像素映射到场景坐标。
- 在实际位置添加图形项,例如 (-100,200)
执行 (2) 很简单 - 只需将项目添加到场景中。我如何实现(1)?调用scene->addPixmap() 后我应该怎么做?
编辑- 一些澄清:
- 我正在绘制一个几百米的室内区域
- 地图将以两种方式实时更改:
- 地图每隔几秒就会变大
- 图形项目移动、改变颜色等。
.net - .NET 相当于 Qt 图形视图框架?
是否有与Qt Graphics View Framework具有相似功能的 .NET (3.5+) 库?我需要的主要功能是:
- 允许显示多个动态 2D 图形项目
- 支持缩放、旋转
- 将场景与视图分离并允许在场景坐标(而不是像素)中工作。
- 允许选择单个项目
c++ - QTimer 与 QDragEvent 问题
我有一个 GUI 应用程序,您可以在其中在 QGraphicsView/Scene 中拖动小部件。您还可以在不拖动小部件时进行平移和缩放。
我想要什么: 我想做到这一点,以便当您在屏幕边缘附近拖动一个项目时,它开始朝那个方向平移并继续平移,即使鼠标没有移动,但鼠标仍然需要位于屏幕的顶部/左侧/右侧或底部 10%。
我尝试过的: 在dragMoveEvent 中,我检查鼠标是否位于屏幕边缘。如果是这样,我会启动一个 15 毫秒超时的 Qtimer。在超时时,通过更新中心,将一个函数插入到正确的方向上平移场景。这种方法有效,但是当我将鼠标仍留在边缘时,平移会不稳定,如果鼠标在边缘内移动,则平移应该是平滑的。
底线: 为什么当鼠标不移动时平移只是不稳定/滞后?如何修复它以使平移像在边缘内移动鼠标一样平滑?
c++ - 同步 QGraphicView 元素
我有两个 QGraphicView 对象(基于相同的派生类)。它们包含不同的场景,但一些(有时很多)项目是相同的。这些项目有共同的坐标。我或者在同一框架内显示一个或另一个。我这样做没有任何问题。
在这两个图形视图中,我都添加了放大和缩小以及移动视口的可能性。我添加了一个按钮来选择要显示的显示视图。我遇到的问题是到目前为止我一直无法确保常见的项目(同样,具有相同的坐标)保持在屏幕上的同一个位置。
您对如何同步这两个视图有什么建议吗?
我尝试使用变换矩阵来解决这个问题,并且缩放现在可以工作,但我仍然有一个我似乎无法摆脱的翻译问题!
qt - QGraphicsPixmapItem 在部署模式下未显示在 QGraphicsScene 中
使用以下代码,在我的工作站(QtCreator 一个“手动”运行)上一切正常。但是在另一台没有安装 Qt 的电脑上,我的应用程序没有显示 QGraphicsPixmapItem。
你知道为什么吗 ?
unit-testing - 如何对 qt 图形视图小部件/项目进行单元测试
我有一个在 Qt4 中广泛使用 graphicsview 架构的应用程序,我想开始对 ui 组件进行自动化测试,但我找不到任何与我应该测试的内容或如何测试基于 qgraphicsview/qgraphicswidget 的类相关的资源?
qt - QGraphicsView 之上的透明 QGLWidget
我QGraphicsView
用来显示 2D 图像,也有一个单独的QGLWidget
窗口来显示一些 3D 对象。我正在根据 3D 对象的旋转动态更改“QGraphicsView”中显示的图像。
我想在 2D 图像上渲染一个半透明的 3D 对象,就像 Maya 2009 曾经做的那样(注意视口右上角的立方体):(来源:boulevard-creation.com)
是否可以使用我当前的小部件执行此操作?如果没有,怎么可能做到?
我能想到的一种选择是渲染所有内容QGLWidget
并将 2D 图像显示为背景平面上的纹理,但这似乎有点痛苦。
qt - 如何在 QGraphicsTextItem 的文本中检查 wheelEvent 的位置?
我有一个QGraphicsTextItem
接受鼠标事件的子类(即实现wheelEvent()
方法。
如何检查车轮事件发生在文本中的哪个位置?我想获得当滚轮事件发生时鼠标指针指向的字母。
顺便说一句:一种可能的解决方案是创建一系列QGraphicsTextItem
对象——每个字母一个。这样每个字母都可以接受它自己的事件,但我放松了所有字距调整和其他排版复杂性。