问题标签 [qgraphicsscene]

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

qt - Qt 追踪 QGraphicsScene::itemAt() 回到数据模型

我有一个对象列表,用于将对象添加到 QGraphicsScene 中:

稍后,在 GraphicsScene 类中,我检测用户何时单击一个项目并拖动它以移动它:

这适用于在图形视图中移动项目,但我无法将 QGraphicsItem 追溯到创建它的列表项。

将 QGraphicsItem 与创建它的列表项链接的最佳方法是什么,以便可以更改列表项以反映位置的变化?

0 投票
1 回答
452 浏览

qt4 - 创建 QGraphicsItems 列表时出错

我有一个 QGraphicsScene,我想在上面画一些特殊的曲线。为此,我创建了一个类,在其中我将这些特殊曲线定义为新的 QGraphicsItem:

我尝试将每个项目插入两次:一次在我定义的数组中:

并在场景中:

但我得到这两个错误:

没有用于调用“QList::append(Clothoid**)”的匹配函数

没有调用“QGraphicsScene::addItem(Clothoid**)”的匹配函数

我究竟做错了什么?

0 投票
1 回答
2129 浏览

qt - 在 QGraphicsView 中移动项目

一般来说,我对 Qt 很陌生,QGraphicsView尤其是。当我在其中旋转 aQgraphicspixmapitem时,它似乎也在移动。我发现这与QGraphicsView调整以保持场景可见有关。我删除了滚动条,因为我不需要它们,并且我希望场景的某些部分在不QGraphicsView改变其视图的情况下消失。换句话说,我希望我的一切QGraphicsView都有绝对的立场,我不想QGraphicsView改变它的观点(或者不管它叫什么,请纠正我的术语)。

0 投票
1 回答
5132 浏览

qt4 - 如何在 QGraphicsScene 中添加项目?

我正在尝试在鼠标单击和鼠标光标坐标处在 QGraphicsScene 中添加一些自定义 QGraphicsItems。但是这些项目不会添加到与鼠标光标相同的坐标处。

renderArea 是 QGraphicsView 和 Clothoids 自定义 QGraphicsItem

我猜我插入项目的坐标属于 GraphicsView 而不是场景,因为在我的应用程序中,场景并没有覆盖整个视图。但是在我的情况下,我怎么能得到场景的坐标呢?

0 投票
1 回答
301 浏览

python - 如何在字形具有 x 和 y 坐标的情况下并行创建具有多行字形/文本的 GUI

我目前正在创建一个应用程序来编辑在某个时间范围内发生的事件的并行列表。在模型/后端中有一个列表列表,其中子列表按顺序排列了所有项目。

每个事件都应该由一个字符串/字形(来自 ttf 字体)表示,并且每个文本行都应该像正常的文本行一样进行编辑,但它们的显示方式有一些例外。看这张图片:

例子

基本上每一行代表一行文本。每个事件都是一个字符/字形。所以它是一个文本编辑器?!不完全的

  1. 没有换行符
  2. 多条平行线
  3. 每个字形后面都有一个单独的空格(X 方向)
  4. 每个字形都可以单独“向上”和“向下”移动(Y方向)(也许是最重要的一点)
  5. 如果你删除一个字形,它右边的所有项目都往“左”走一步来缩小差距(就像在普通的文本编辑器中一样)。
  6. 如果您插入一个字形,则它右侧的所有项目都会“向右”走一步以创建要插入的间隙。

QGraphicsLinearLayout 涵盖了大多数这些点,但对于这种方法,它可能是错误的小部件/布局。你有什么建议吗?

0 投票
1 回答
1561 浏览

qt - 从另一个非主线程更新 QGraphicsScene

我对 QT 的图形视图框架很陌生,我在文档或 Google 上找不到任何关于此的内容。

我有一个为某些数据绘制表示的 GUI 应用程序。应用程序本身对矩阵/向量(一种神经网络事物)进行了一些处理,并且必须在QGraphicsScene. QGraphicsScene到目前为止一切顺利,但我注意到如果我尝试从另一个线程更新应用程序段错误和崩溃迟早(通常更早) 。QT Docs 对线程安全只字未提,Google 什么也没说。我想要(并且非常需要)做的是运行计算并相应地更新 GUI 表示,但 GUI 控件等本身必须保持响应。正如我所说,我的第一个想法是在另一个线程中完成整个操作,但如果我尝试这样做,它会随机崩溃。

在 QT 中是否有任何“公认的做法”来做这种事情,或者在图形视图框架本身中是否有一些我不知道的问题?

0 投票
1 回答
1728 浏览

python - 在 PyQt 中设置 QGraphicsTextItem 原点

如果我想在 QGraphicsView 中放置一个字母(一个 QGraphicsTextItem),有什么方法可以将文本设置为在我指定的坐标中间显示?如果我使用QGraphicsTextItem.setPos(x,y),它将 (x,y) 视为左上角。不过,我仍然希望 QGraphicsScene 的左上角保持为 (0, 0)。

0 投票
3 回答
2528 浏览

c++ - QGraphicsItem::boundingRect() 是否应该包含子边界矩形?

谷歌搜索建议它应该

但是 dragdroprobot示例实现(在父 Robot 对象上)建议不要:

哪个是正确的,还是有更微妙的事情发生?

0 投票
1 回答
875 浏览

qt - Qt QGraphicsSvgItem 渲染太大(每边 0.5 个单位)

如果我在 (0, 0) 处以 64x64 绘制 SVG 项目,则实际显示的 SVG 项目来自 (-0.5, -0.5) 和 65x65。我通过在 SVG 项目后面绘制边界框来测量这一点。并且 SVG 项目在 QGraphicsScene 上从四面八方伸出半个单位。

我可以去掉这个效果吗?我已将笔设置为 NoPen。我可以按比例缩小,但这会很不精确(因为宽度和高度需要不同的比例,这几乎是不可能的)。我该如何解决这个问题?

在此处输入图像描述

如您所见,棕色框 (SVG) 突出在灰色区域(边界框)上。边界框由 Inkscape 确认。

谢谢

0 投票
1 回答
1763 浏览

qt - Qt中如何为QGraphicsItem做lower()和raise()?

我想在我的图形场景中更改图形项目的 z 顺序。我使用 QGraphicsWebView 作为图形项。我怎样才能实现它?