问题标签 [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++ - Qt:mouseMoveEvent 并干扰子对象的 hoverEnterEvent
我QGraphicsView
用来创建一种电路编辑器,其中有元素,有连接器。应该可以用电线连接这些连接器。但是,我有一个问题,当我从一个连接器拖动到另一个连接器时,Qt 抓住鼠标,而其他连接器停止接收hoverEnterEvent
. 顺便说一句,在悬停连接器上调整大小,因此更容易击中它们。
再一次,是否可以在拖动时不抓住鼠标?
我在 Windows 上使用过 Qt 4.5。
根据要求,这里有一些来源: http: //pastebin.com/m422b9495
qt - QGraphicsView - 如何禁用鼠标和键盘滚动
在我的应用程序中,我添加了 pixmap 的 QGraphicsScene,所有内容都在 QGraphicsView 中查看,滚动条关闭。程序窗口比像素图小,当我按箭头键或移动鼠标滚轮时,像素图正在移动。
如何禁用它,即使像素图大于窗口,它也不会被键盘或鼠标移动,除非我为此使用我的事件?
(我试图将交互属性设置为 false,但没有奏效)
c++ - 我应该如何使用带有布局和小部件的 QGraphicsScene
我正在 Qt4 中创建一些图形数据显示小部件,我很想使用它,为数据项QGraphicsScene
创建s 等。QGraphicsItem
但是,我想添加一些控件层(例如滚动条、缩放+其他按钮 - 我想使其具有与例如 Google Maps 类似的样式,即数据将显示在整个小部件中,并且按钮将显示在它们的顶部)到小部件。所以我认为将它们添加到场景中可能是可行的(也许作为QGraphicsGroupItem
将显示在数据上的 a 的孩子)。但是我希望它们在调整整个小部件的大小时移动和调整大小,所以我应该使用 aQGraphicsLayout
来管理它们。但此时,我发现事情相当复杂。
问题是,当使用 时QGraphicsLayout
,以下约束成立:
QGraphicsWidget
布局只能管理aQGraphicsLayout
只能用于管理 a 的子级QGraphicsWidget
这意味着我必须将我的控件创建为QGraphicsWidget
s,向数据小部件添加顶级QGraphicsWidget
,并自己管理这个顶级小部件的大小。
所以我想问:
经典的方法(即,对所有控件使用普通的旧小部件,并且
QGraphicsScene
仅用于显示数据)不是更合理吗?在这种情况下使用有什么好处
QGraphicsScene
(性能或简单性......)?我应该如何
QGraphicsScene
利用它的优势?
qt - 使用自定义 QGLWidget 调用 Qt 的 QGraphicsView::setViewport
我以前从 QGLWidget 派生,如下所示:
但是,我发现如果我尝试使用我的自定义 QGLWidget 作为视口来初始化 QGraphicsView,则不会调用 initializeGL(在 Qt 库中设置断点,QGLWidget::initializeGL() 在创建时也不会被调用)。
放置当前驻留在 MyGLWidget::initializeGL() 中的代码的正确位置在哪里?
qt - 在 Qt 的两个 QGraphicScene 实例中共享相同的模型
我有一个使用 QGraphicsScene 对象显示图表编辑器的应用程序。我想创建同一个对话框的只读版本,但用户可以同时看到这两个版本。
当我创建 2 个 QGraphicsScene 实例并在第二个实例上使用 addItem 时,它会从第一个实例中删除所有项目。Qt 是否支持场景之间的任何类型的模型共享?我唯一的选择是拥有相同的场景并尝试自定义视图吗?后来的一个似乎不起作用,因为对象选择信息在共享的图形项中,所以如果我禁用它们上的标志,它们在两个视图中都变为只读。任何建议表示赞赏。谢谢。
c++ - QGraphicsView 和 QGraphicsItem:缩放视图矩形时不要缩放项目
我正在使用 Qt 的QGraphicsView
- 和 -QGraphicsItem
子类。有没有办法在视图矩形更改时不缩放视图中项目的图形表示,例如放大时。默认行为是我的项目相对于我的视图矩形进行缩放。
我想可视化 2d 点,这些点应该由一个细长的矩形表示,在放大视图时不应缩放。请参阅典型的 3D 建模软件以供参考,其中顶点始终以相同大小显示。
谢谢!
c++ - QGraphicsTextItem 的 QPixmap
如何将 QGraphicsTextItem 转换/绘制为 QPixmap?
python - 具有自动放置物品的 QGraphicsView
我想使用 QGraphicsView 编写一个资产浏览器。它与使用 QGraphicsView 和 QGraphicsItems 的示例有点不同,因为我只想要一个滚动条,并且我希望项目在视口大小发生变化时自动移动。例如,当视口宽度大到足以显示 4 个资源时,它们应该显示如下:
但是当视口缩小并且只能连续包含 3 个时,它应该像这样显示它们:
我不想自己移动这些资产并让图形视图管理它们。有可能吗?
我曾经写过这样的东西,但是使用QWidget和paintEvent,自己绘制所有资产并跟踪可以连续显示多少资产。使用 QGraphicsView 可以更简单吗?
qt - 在 Qt 图形视图中获取恒定大小项目的边界框
我需要获取设置了标志的QGraphicsItem
s的边界框(在场景空间中)。QGraphicsItem::ItemIgnoresTransformations
根据文档,您需要使用QGraphicsItem::deviceTransform()来做到这一点。我试过这个:
但是出了点问题,边界框看起来更小,并且在项目的右侧很远......