问题标签 [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.
qt - Qt 转换文本
有没有办法QGraphicsTextItem
像图片上那样变换(绕圆周弯曲)。
我找到了可以使用的QTransformQGraphicsItem::setTransform
类,但我找不到像图片上所示那样转换文本的函数。
python - QGraphicsTextItem的分页:将文本限制在特定的矩形区域
我正在尝试使用 Qt 来创建所见即所得的文字处理器,主要关注页面的布局和文档的分页。
我要关注的第一件事是打印预览功能,我想我会使用 QGraphicsScene/View 和 QGraphicsTextItem。
当前的问题是我无法将文本包含在 QGraphicsTextItem 的范围内。文本一直持续到它到达 QGraphicsScene/View 的底部。
我想知道使用 QGraphics 是否是正确的方法,如果是,我应该怎么做才能为我的文本文档分页?
生成附图所示结果的代码(PyQt,但即使首选 Python,我也应该能够理解 C++):
qt - 如何从主 QWidget 中移除 QGraphicsTextItem 的焦点
我有一些,QGraphicsTextItem
里面QGraphicsItem
画了一个QGraphicsView
。这QGraphicsView
已添加到 main Qwidget
.
我已经FocusOutEvent
为此编写了“”,QGraphicsTextItem
并且仅当MousePressEvent
在QGraphicsView
.
QGraphicsTextItem
现在我关心的是,当MousePressEvent
被称为“外部”时,如何移除焦点QGraphicsView
?
在我的MainWindow.cpp中,我写了一个mousePressEvent
函数:
但这不是清除QGraphicsTextItem
.
期待积极的回应。
qt - 如何固定 QGraphicsItem 的位置并仅使 QGraphicsTextItem 移动?
我有一个QGraphicsView
我正在画一个QGraphicsItem
和QGraphicsTextItem
。
我已经为编辑长文本设置了ItemIsMovable
标志QGraphicsTextItem
。
这里是我的担忧。当我移动QGraphicsTextItem
以查看长文本时,它也QGraphicsText
向左移动。
但我只希望QGraphicsTextItem
是可移动的。
我想固定的位置QGraphicsItem
?我怎么做?
编辑:
这是我的代码的输出。我QGraphicsView
在我的应用程序的左上角有这个。这个的 ViewportQGraphicsView
是QGraphicsItem
.
当我单击QGraphicsTextItem
并将光标向右移动以查看文本时,QGraphicsItem
如图所示,它也会移动并隐藏。
我该如何解决这个问题QGraphicsItem
?
qt - 防止 QGraphicsItem 中的字体缩放
我正在使用QGraphicsTextItem在场景中绘制文本。文本沿路径(QGraphicsPathItem )绘制,它是我的QGraphicsTextItem的父级- 因此文本旋转更改为沿路径元素并在缩放视图时粘贴在它上面。但是QGraphicsTextItem的字体大小在缩放视图时也会发生变化 - 这是我试图避免的。我将QGraphicsItem::ItemIgnoresTransformations标志设置为QGraphicsTextItem它在它的父级(QGraphicsPathItem)停止旋转时停止旋转。
我明白我必须重新实现QGraphicsTextItem::paint函数,但我被协调系统困住了。这是代码(Label类继承公共QGraphicsTextItem):
我的文本在屏幕上的位置(和旋转)是不可预测的:(我做错了什么?提前非常感谢。
qt - 如何在 QGraphicsTextItem 中显示 unicode?
我希望能够在QGraphicsTextItem
(或其子类)中显示 Unicode。
设置文本的唯一方法QGraphicsTextItem
似乎是
试
或者
我得到:
似乎无论我做什么(我不确定是否正确)我都没有得到正确的输出......
QGraphicsTextItem
支持 unicode 吗?也许是setPlainText
功能有问题 - 但是还有什么替代方法?(我调查过,setDocument
但它也设置了纯文本......)
编辑 - 复制 QGraphicsTextItem 内的特殊字符,一旦在屏幕上,但仍然无法从代码中放置任何 unicode。
c++ - 使用 QGraphicsScene 在 QT 中跟踪计数的文本字段
我有一个 QT 项目(使用 C++),其中某个用户定义的QGraphicsItem
调用实例Person
在场景中移动。有时它们Persons
会相互作用,因此其中一些会改变颜色。
现在我想在窗口中放置一个文本字段并显示每种颜色的数量。但是由于更改发生在对Person::advance
-method 的调用中,我想创建一个可以从这些中更新的文本字段。
通过将以下代码添加到我的 main.cpp 中,我可以轻松地显示一些文本:
但我不知道如何text1
从场景中的advance
- 方法中访问和更改此变量的文本。Persons
对此有什么好的策略?
我是否应该创建一个跟踪计数的全局变量,如果这样做,我该如何更新文本字段?或者文本甚至不应该在 my 上
QGraphicsScene
,而是在其他更合适的地方定义,可以从程序中的任何地方调用它?有这样做的通用方法吗?
qt - QGraphicsSceneTextItem 删除旧文本
我想要做的是删除或更新QGraphicsSimpleTextItem
我添加到的文本值QGraphicsItem
,但由于某种原因,文本不会更新,但它会累积在创建的项目中。这就是我现在所做的:
c++ - QGraphicsTextItem 编辑需要执行两次操作
我想QGraphicsTextItem
在双击时使其可编辑,并在单击时使其可移动。
它做我想要的-除了我必须双击两次
-第一次双击时,我看到一个光标但无法编辑文本(使用任何一个选项,TextEditable
或者TextEditorInteraction
(我可能想要后者)。然后我双击再次,我可以键入以添加或删除文本。
这是用户可能没有预料到的行为——我所做的任何事情似乎都无法改变它。
我做错了什么,还是有什么需要补充的?
qt - 不处于编辑模式时如何隐藏插入符号?
我有一个TextItem
继承QGraphicsTextItem
。我这样做是为了在双击时我可以编辑文本,当点击出去时,文本不再可编辑。
单击时,文本不再可编辑 - 但插入符号仍然可见。
添加setCursor(Qt::OpenHandCursor);
(focusOutEvent
并且可能试图记住要设置的光标形状......我还不知道如何)解决了这个问题 - 使插入符号消失 - 但我认为这不是正确的解决方案。
然而,当不再处于编辑模式时,我找不到任何QTextCursor
隐藏插入符号的方法 - 似乎设置NoTextInteraction
应该做到这一点......
不处于编辑模式时隐藏插入符号的最佳方法是什么?