问题标签 [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 回答
170 浏览

qt - Qt 转换文本

有没有办法QGraphicsTextItem像图片上那样变换(绕圆周弯曲)。 转型

我找到了可以使用的QTransformQGraphicsItem::setTransform类,但我找不到像图片上所示那样转换文本的函数。

0 投票
1 回答
553 浏览

python - QGraphicsTextItem的分页:将文本限制在特定的矩形区域

我正在尝试使用 Qt 来创建所见即所得的文字处理器,主要关注页面的布局和文档的分页。

我要关注的第一件事是打印预览功能,我想我会使用 QGraphicsScene/View 和 QGraphicsTextItem。

当前的问题是我无法将文本包含在 QGraphicsTextItem 的范围内。文本一直持续到它到达 QGraphicsScene/View 的底部。预习

我想知道使用 QGraphics 是否是正确的方法,如果是,我应该怎么做才能为我的文本文档分页?

生成附图所示结果的代码(PyQt,但即使首选 Python,我也应该能够理解 C++):

0 投票
1 回答
1067 浏览

qt - 如何从主 QWidget 中移除 QGraphicsTextItem 的焦点

我有一些,QGraphicsTextItem里面QGraphicsItem画了一个QGraphicsView。这QGraphicsView已添加到 main Qwidget.

我已经FocusOutEvent为此编写了“”,QGraphicsTextItem并且仅当MousePressEventQGraphicsView.

QGraphicsTextItem现在我关心的是,当MousePressEvent被称为“外部”时,如何移除焦点QGraphicsView

在我的MainWindow.cpp中,我写了一个mousePressEvent函数:

但这不是清除QGraphicsTextItem.

期待积极的回应。

0 投票
0 回答
450 浏览

qt - 如何固定 QGraphicsItem 的位置并仅使 QGraphicsTextItem 移动?

我有一个QGraphicsView我正在画一个QGraphicsItemQGraphicsTextItem

我已经为编辑长文本设置了ItemIsMovable标志QGraphicsTextItem

这里是我的担忧。当我移动QGraphicsTextItem以查看长文本时,它也QGraphicsText向左移动。

但我只希望QGraphicsTextItem是可移动的。

我想固定的位置QGraphicsItem?我怎么做?

编辑:在此处输入图像描述 这是我的代码的输出。我QGraphicsView在我的应用程序的左上角有这个。这个的 ViewportQGraphicsViewQGraphicsItem.

当我单击QGraphicsTextItem并将光标向右移动以查看文本时,QGraphicsItem如图所示,它也会移动并隐藏。

我该如何解决这个问题QGraphicsItem

0 投票
3 回答
3976 浏览

qt - 防止 QGraphicsItem 中的字体缩放

我正在使用QGraphicsTextItem在场景中绘制文本。文本沿路径(QGraphicsPathItem )绘制,它是我的QGraphicsTextItem的父级- 因此文本旋转更改为沿路径元素并在缩放视图时粘贴在它上面。但是QGraphicsTextItem的字体大小在缩放视图时也会发生变化 - 这是我试图避免的。我将QGraphicsItem::ItemIgnoresTransformations标志设置为QGraphicsTextItem它在它的父级(QGraphicsPathItem)停止旋转时停止旋转。

在此处输入图像描述

我明白我必须重新实现QGraphicsTextItem::paint函数,但我被协调系统困住了。这是代码(Label类继承公共QGraphicsTextItem):

我的文本在屏幕上的位置(和旋转)是不可预测的:(我做错了什么?提前非常感谢。

0 投票
2 回答
346 浏览

qt - 如何在 QGraphicsTextItem 中显示 unicode?

我希望能够在QGraphicsTextItem(或其子类)中显示 Unicode。

设置文本的唯一方法QGraphicsTextItem似乎是

或者

我得到:

似乎无论我做什么(我不确定是否正确)我都没有得到正确的输出......

QGraphicsTextItem支持 unicode 吗?也许是setPlainText功能有问题 - 但是还有什么替代方法?(我调查过,setDocument但它也设置了纯文本......)

编辑 - 复制 QGraphicsTextItem 内的特殊字符,一旦在屏幕上,但仍然无法从代码中放置任何 unicode。

0 投票
1 回答
239 浏览

c++ - 使用 QGraphicsScene 在 QT 中跟踪计数的文本字段

我有一个 QT 项目(使用 C++),其中某个用户定义的QGraphicsItem调用实例Person在场景中移动。有时它们Persons会相互作用,因此其中一些会改变颜色。

现在我想在窗口中放置一个文本字段并显示每种颜色的数量。但是由于更改发生在对Person::advance-method 的调用中,我想创建一个可以从这些中更新的文本字段。

通过将以下代码添加到我的 main.cpp 中,我可以轻松地显示一些文本:

但我不知道如何text1从场景中的advance- 方法中访问和更改此变量的文本。Persons对此有什么好的策略?

我是否应该创建一个跟踪计数的全局变量,如果这样做,我该如何更新文本字段?或者文本甚至不应该在 my 上QGraphicsScene,而是在其他更合适的地方定义,可以从程序中的任何地方调用它?有这样做的通用方法吗?

0 投票
1 回答
165 浏览

qt - QGraphicsSceneTextItem 删除旧文本

我想要做的是删除或更新QGraphicsSimpleTextItem我添加到的文本值QGraphicsItem,但由于某种原因,文本不会更新,但它会累积在创建的项目中。这就是我现在所做的:

0 投票
1 回答
1111 浏览

c++ - QGraphicsTextItem 编辑需要执行两次操作

我想QGraphicsTextItem在双击时使其可编辑,并在单击时使其可移动。

它做我想要的-除了我必须双击两次
-第一次双击时,我看到一个光标但无法编辑文本(使用任何一个选项,TextEditable或者TextEditorInteraction(我可能想要后者)。然后我双击再次,我可以键入以添加或删除文本。

这是用户可能没有预料到的行为——我所做的任何事情似乎都无法改变它。

我做错了什么,还是有什么需要补充的?

0 投票
2 回答
415 浏览

qt - 不处于编辑模式时如何隐藏插入符号?

我有一个TextItem继承QGraphicsTextItem。我这样做是为了在双击时我可以编辑文本,当点击出去时,文本不再可编辑。

单击时,文本不再可编辑 - 但插入符号仍然可见。

添加setCursor(Qt::OpenHandCursor);focusOutEvent并且可能试图记住要设置的光标形状......我还不知道如何)解决了这个问题 - 使插入符号消失 - 但我认为这不是正确的解决方案。

然而,当不再处于编辑模式时,我找不到任何QTextCursor隐藏插入符号的方法 - 似乎设置NoTextInteraction应该做到这一点......

不处于编辑模式时隐藏插入符号的最佳方法是什么?