问题标签 [qgraphicstextitem]

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 投票
0 回答
90 浏览

qt - 如何从 QGraphicsTextItem 变量中获取类似 currentCharFormatChanged 的​​信号

我正在实现一个文本编辑器Qt。由于我将编辑器添加到 aQGraphicsScene中,因此我选择QGraphicsTextItem实现它。但是,我想在光标更改时更改某些工具按钮的状态(例如“粗体”、“斜体”、“字体”等)。问题是 inQGraphicsTextItem没有像 " currentCharFormatChanged(QTextCharFormat)" in这样的信号QTextEdit。光标位置改变时如何获取信号?

0 投票
1 回答
209 浏览

c++ - 避免 QGraphicsItem 与孩子无限重绘

我有一个QGraphicsItem元素(从 子类化QGraphicsItem)作为子元素 a QGraphicsTextItem

问题是该paint(...)方法QGraphicsItem被无限调用。

这是我的QGraphicsItem元素中的paint方法QGraphicsTextItem

我不能setCacheModeQGraphicsItem::CacheMode::NoCache.

我正在使用 Qt 5.6。

更新:

  • 是类的text_item成员,它在初始化列表中被初始化。
0 投票
1 回答
1142 浏览

qt - QGraphicsSimpleTextItem“不完整类型的无效使用”

我的代码如下:

指针小部件.h

指针小部件.cpp

我读到的所有地方都说使用 setPos(x,y) 来定位文本项。这是 QGraphicsItem 的一个函数。我收到“无效使用不完整类型'class QGraphicsSimpleTextItem'”的错误。为了进一步确认有什么问题,Qt Creator 不会“识别”或尝试“自动完成”函数调用。

如果它注释掉给我错误的行,那么我会得到一堆位于 (0,0) 的简单文本。重点是,给我错误的不是 addSimpleText() 函数。

有任何想法吗?

谢谢!

0 投票
0 回答
107 浏览

c++ - 如何在Qt中从右到左渲染QGraphicsSimpleTextItem的文本?

我有一个继承自 QGraphicsRectItem 的对象,看起来像示意图。

在此处输入图像描述

我想在矩形内渲染红色下划线的 QGraphicsSimpletextItem ,以便它从右到左渲染。

Qt 中是否有任何函数可以在给定坐标的情况下从右到左渲染 QGpahicsSimpleTextItem?

0 投票
0 回答
43 浏览

qt5 - 显示重叠的 QGraphicsItems

我在 PyQt5 中开发了一个应用程序,它显示图像并允许用户使用鼠标平移图像并使用鼠标滚轮进行缩放。我现在需要添加显示与显示图像的特定部分相关联的弹出文本的功能。虽然可以将文本直接绘制到 QGraphicsScene 上,但常用的缩放范围意味着文本在缩小时会太小,或者在放大时会太大。

我想实现一种将 QGraphicsTextItem 小部件放置在不受平移和缩放影响的静态位置的方法。这样,它们可以静态地位于 QGrapicsView 的外围,我可以从文本框画一条线到场景中的位置。我的问题是我找不到放置文本项的方法,因此它们独立于 QGraphicsScene。我在想我应该有场景外部的文本项,并将 QGraphicsView 和任何文本框放在父 QObject 中。我不知道这是否是最好的方法,并且尝试将标记图像上位置的 QGraphicsElipsesItem 的线连接到父 QObject 中的 QLabel 的成功有限。

我希望我已经说得够清楚了。如果需要更多说明,请发表评论。

0 投票
1 回答
303 浏览

qt - QGraphicsTextItem:在两个方向(左右)均等地增加大小

背景

QGraphicsTextItem在 a 内使用QGraphicsScene并希望将文本居中并随着时间的推移缓慢而平稳地使其变大。

因为QGraphicsTextItem没有setWidth()/setRight()功能,所以我用它setScale()来增加大小。位置将保持不变,因为我还没有找到任何方法来居中对齐图形项,所以我还需要使用更改位置setPos()

问题在于,setPos()setScale()没有很好地结合起来,因为第一个使用像素,第二个是相对的

问题

如何使文本居中并在两个(左/右)方向上均等地增加其大小?

感谢您对此的帮助!

0 投票
1 回答
445 浏览

qt - QT : QGraphicsTextItem alignment char to top-left corner

I want to draw a character aligned to the top-left corner of parent.

Picture below presents output of my code (grey rectangle is parent of QGraphicsTextItem)

Result:

Result

I want to get a result like this:

My dream result:

My dream result

I tried to use Qt::AlignLeft and Qt::AlignTop but to no avail.

0 投票
2 回答
359 浏览

c++ - QPropertyAnimation of a QGraphicsTextItem with a frame make the text shaky

I am animating a QGraphicsTextItem that I have added a frame around. During the animation the text seems to shake slightly inside the frame, which is very annoying.

An example code:

Is there any way to smooth the animation?

0 投票
1 回答
714 浏览

python - 如何获取 PyQt QGraphicsTextItem 不透明区域

self.boundingRect()给我图像中显示的虚线尺寸。我需要得到不透明区域(绘制实际文本的地方)我试着得到

但它返回 QPainterPath 对象,它看起来很复杂,显然没有宽度或高度函数等作为复杂路径对象的表示。问:有没有更简单的计算方法。任何想法..提前谢谢 获得蓝色区域的简单方法

输出:

0 投票
2 回答
2266 浏览

python - 如何使用 pyqtgraph 的 GLViewWidget 将轴特征(标签、刻度、值)添加到 3D 图中?

我想将标签、刻度和值等轴信息添加到使用 pyqtgraph.opengl.GLViewWidget 模块创建的 3D 场景中。GLAxisItem 已经有一个非常简单的轴绘制选项,但是您只能控制轴的长度。

我已扩展 GLAxisItem 以更改轴颜色,但看不到包含这些其他功能的方法。

这是一个例子:

如果这些功能不会随着缩放而改变大小,那将是完美的。

- - 更新 - -

这里,我了解了如何创建自定义文本项并扩展了我的 Custom3DAxis 类以包含 X、Y 和 Z 标签(上面的代码已更新)。我想这是进一步包含价值观和其他东西的方法。

然而,这个解决方案导致渲染在每次旋转/跨度(即每次场景更新)时变得非常缓慢,仅仅是因为这 3 个文本项!

有没有人知道为什么会这样?我应该怎么做才能避免这种情况?