qt QGraphicsTextItem详解
QGraphicsTextItem类是Qt图形视图框架中的一个重要类,它继承自QGraphicsObject,并提供了在图形场景中显示和编辑文本的功能。
一、基本功能
QGraphicsTextItem类主要用于在QGraphicsScene中显示格式化的文本。它支持纯文本和HTML格式的文本,并允许用户通过调用相关函数来设置文本的样式、布局和交互方式。
二、成员函数
-
构造函数:QGraphicsTextItem(const QString &text=QString(), QGraphicsItem *parent=nullptr)
- 创建一个QGraphicsTextItem对象,并设置其初始文本内容和父项。
-
设置文本内容:
- void setPlainText(const QString &text):设置文本的纯文本内容。
- void setHtml(const QString &text):设置文本的HTML内容。
-
设置文本的样式:
- void setDefaultTextColor(const QColor &col):设置默认文本颜色。
- void setFont(const QFont &font):设置文本的字体。
-
设置文本的布局:
- void setTextWidth(qreal width):设置文本的首选宽度。
-
设置文本的交互方式:
- void setTextInteractionFlags(Qt::TextInteractionFlags flags):设置文本项的交互标志,如是否可选择、是否可编辑等。
-
其他常用函数:
- QTextCursor textCursor() const:返回文本光标。
- void setTextCursor(const QTextCursor &cursor):设置文本光标。
- bool openExternalLinks() const:返回是否自动打开外部链接。
- void setOpenExternalLinks(bool open):设置是否自动打开外部链接。
QGraphicsScene scene;
scene.setSceneRect(0,0,800,480);
QGraphicsView view(&scene);QGraphicsTextItem *textItem = new QGraphicsTextItem();
textItem->setPlainText("这是一个QGraphicsTextItem示例");
textItem->setDefaultTextColor(Qt::blue);
QFont font("Arial", 16, QFont::Bold);
textItem->setFont(font);
textItem->setTextWidth(200);scene.addItem(textItem);
textItem->setPos(0, 0); // 设置文本项的位置
/*
QPropertyAnimation *animation = new QPropertyAnimation(textItem, "pos");
animation->setDuration(5000);
animation->setStartValue(QPointF(0, 0));
animation->setEndValue(QPointF(400, 400));
animation->start();
animation->setLoopCount(-1);
*/
view.show();
qq群交流:698593923
觉得有帮助的话,打赏一下呗。。