qt QGraphicsTextItem详解

QGraphicsTextItem类是Qt图形视图框架中的一个重要类,它继承自QGraphicsObject,并提供了在图形场景中显示和编辑文本的功能。

一、基本功能

QGraphicsTextItem类主要用于在QGraphicsScene中显示格式化的文本。它支持纯文本和HTML格式的文本,并允许用户通过调用相关函数来设置文本的样式、布局和交互方式。

二、成员函数

  1. 构造函数:QGraphicsTextItem(const QString &text=QString(), QGraphicsItem *parent=nullptr)

    • 创建一个QGraphicsTextItem对象,并设置其初始文本内容和父项。
  2. 设置文本内容

    • void setPlainText(const QString &text):设置文本的纯文本内容。
    • void setHtml(const QString &text):设置文本的HTML内容。
  3. 设置文本的样式

    • void setDefaultTextColor(const QColor &col):设置默认文本颜色。
    • void setFont(const QFont &font):设置文本的字体。
  4. 设置文本的布局

    • void setTextWidth(qreal width):设置文本的首选宽度。
  5. 设置文本的交互方式

    • void setTextInteractionFlags(Qt::TextInteractionFlags flags):设置文本项的交互标志,如是否可选择、是否可编辑等。
  6. 其他常用函数

    • 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

觉得有帮助的话,打赏一下呗。。

           

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值