美文网首页
Qt中的 QGraphicsTextItem 类的使用

Qt中的 QGraphicsTextItem 类的使用

作者: 战忽局左派成员 | 来源:发表于2019-09-28 00:38 被阅读0次

这里的前提是你懂得 QGraphics 的用法,如果不懂的话,建议先从这里学习 Qt快速入门系列教程,如果已经有 QWidget 的基础,建议直接学习 第 19 篇及第 20 篇。

QGraphicsTextItem 可以被嵌套

与其他 QGraphicsItem 的子类一样,QGraphicsTextItem 可以被其他的类嵌套,如新建一个子类 QGraphicsTest,继承自 QGraphicsObject,在其构造函数中添加以下代码:

QGraphicsTextItem *testText = new QGraphicsTextItem(this);
testText->setPlainText(tr("InitialD"));
testText->setPos(10, 10);

QGraphicsTextItem 可以作为编辑框

需要设置:

testText->setTextInteractionFlags(Qt::TextEditable);

这样就可以在该图形元素上编辑文字。
但是这里有个问题,你无法使用键盘上的方向键来进行光标的移动。
注意,这并不是因为你将该图形元素嵌套进其他元素中所导致的事件传递错误,因为如果你使用这样的代码,在将其添加到 QGraphicsScene 中时也会发生同样的问题。

这里需要使用的是:

testText->setTextInteractionFlags(Qt::TextEditorInteraction);

这样你就可以使用光标的移动。

在 Qt 的文档中有关于此的说明:

Constant Value Description
Qt::TextEditable 16 The text is fully editable.
Qt::TextEditorInteraction TextSelectableByMouse | TextSelectableByKeyboard | TextEditable The default for a text editor.
Qt::TextBrowserInteraction TextSelectableByMouse | LinksAccessibleByMouse | LinksAccessibleByKeyboard The default for QTextBrowser.

可以理解为,Qt::TextEditable 产生 QTextEdit 的效果,Qt::TextEditorInteraction 产生 QPlainTextEdit 的效果,Qt::TextBrowserInteraction 产生 QTextBrowser 的效果。

相关文章

  • Qt中的 QGraphicsTextItem 类的使用

    这里的前提是你懂得 QGraphics 的用法,如果不懂的话,建议先从这里学习 Qt快速入门系列教程,如果已经有 ...

  • QTcpSocket

    注意点 QTcpSocket是Qt框架中的网络通信类,它使用QSocketNotifier实现异步通信。在Qt中,...

  • CV01-04:在Qt中使用Mat图像结构

      以Qt作为终端应用,OpenCV作为图像处理。本主题的主要是在QT中显示Mat图像结构。在Qt中使用三个类来表...

  • Qt 不同版本差异

    Qt 4:(1)界面相关类位于QtGui中;(2)使用GPL与商业协议; Qt 5:(1)对QtGui模块进行了重...

  • QString

    与C++的string以及MFC中的CString类似的,在QT5中使用的字符串类。 QString类的构造:可以...

  • Qt QCryptographicHash 类的使用

    引用 1 2 3

  • QT容器类

    QT容器类,相对于C++的STL容器类,更为小巧、安全和方便使用。QT5在容器类里面做了优化速度、内存、inlin...

  • QCustomPlot开发笔记(一):QCustomPlot简介

    前言   QCustomPlot开发笔记系列整理集合,这是目前使用最为广泛的Qt图表类(Qt的QWidget代码方...

  • QML Book 第十五章 Qt 和 C++ 2

    15.4 普通 Qt 课程 QObject 类构成了 Qt 的基础,但框架中还有更多的类。在我们继续关注 QML ...

  • QT文件读写方法

    QT中存在它为自身设计的文件类QFile,我们可以使用QFile来创立一个文件对象,并使用QTextStream与...

网友评论

      本文标题:Qt中的 QGraphicsTextItem 类的使用

      本文链接:https://www.haomeiwen.com/subject/yfkzuctx.html