本页内容

QGraphicsSimpleTextItem Class

QGraphicsSimpleTextItem 类提供了一个简单的文本项,您可以将其添加到QGraphicsScene 中。更多内容...

头文件: #include <QGraphicsSimpleTextItem>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
继承自: QAbstractGraphicsShapeItem

公共类型

enum { Type }

公共函数

QGraphicsSimpleTextItem(QGraphicsItem *parent = nullptr)
QGraphicsSimpleTextItem(const QString &text, QGraphicsItem *parent = nullptr)
virtual ~QGraphicsSimpleTextItem()
QFont font() const
void setFont(const QFont &font)
void setText(const QString &text)
QString text() const

重新实现的公共函数

virtual QRectF boundingRect() const override
virtual bool contains(const QPointF &point) const override
virtual bool isObscuredBy(const QGraphicsItem *item) const override
virtual QPainterPath opaqueArea() const override
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override
virtual QPainterPath shape() const override
virtual int type() const override

详细说明

要设置项的文本,您可以将QString 传递给QGraphicsSimpleTextItem的构造函数,或者稍后调用setText()来更改文本。要设置文本填充颜色,请调用setBrush()。

简单文本项可以同时具有填充和轮廓;setBrush() 将设置文本填充(即文本颜色),而setPen() 则设置用于绘制文本轮廓的画笔。 (后者可能比较慢,特别是对于复杂的笔和文本内容较长的项目。)如果您只想绘制一行简单的文本,则应仅调用setBrush(),而不设置笔;QGraphicsSimpleTextItem的笔默认是Qt::NoPen 。

QGraphicsSimpleTextItem 利用文本的格式化尺寸和关联字体,合理实现了boundingRect()、shape() 以及contains() 方法。您可以通过调用setFont() 来设置字体。

QGraphicsSimpleText 不显示富文本;相反,您可以使用QGraphicsTextItem ,它提供了完整的文本控件功能。

在原点附近绘制带有自定义填充和轮廓的“Qt”文本

另请参阅 QGraphicsTextItem 、QGraphicsPathItem 、QGraphicsRectItem 、QGraphicsEllipseItem 、QGraphicsPixmapItem 、QGraphicsPolygonItem 、QGraphicsLineItem 以及Graphics View Framework。

成员类型文档

[anonymous] enum

虚拟函数type() 返回的值。

常量值描述
QGraphicsSimpleTextItem::Type9一个图形简单文本项

成员函数文档

[explicit] QGraphicsSimpleTextItem::QGraphicsSimpleTextItem(QGraphicsItem *parent = nullptr)

创建一个 QGraphicsSimpleTextItem。

parent 该参数将传递给QGraphicsItem 的构造函数。

另请参阅 QGraphicsScene::addItem()。

[explicit] QGraphicsSimpleTextItem::QGraphicsSimpleTextItem(const QString &text, QGraphicsItem *parent = nullptr)

创建一个 QGraphicsSimpleTextItem,并将text 作为默认纯文本。

parent 该参数将传递给QGraphicsItem 的构造函数。

另请参阅 QGraphicsScene::addItem()。

[virtual noexcept] QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem()

销毁QGraphicsSimpleTextItem 。

[override virtual] QRectF QGraphicsSimpleTextItem::boundingRect() const

重新实现了:QGraphicsItem::boundingRect() const。

[override virtual] bool QGraphicsSimpleTextItem::contains(const QPointF &point) const

重写了:QGraphicsItem::contains(const QPointF &point) const。

QFont QGraphicsSimpleTextItem::font() const

返回用于绘制该项目文本的字体。

另请参阅 setFont()。

[override virtual] bool QGraphicsSimpleTextItem::isObscuredBy(const QGraphicsItem *item) const

重写了:QAbstractGraphicsShapeItem::isObscuredBy(const QGraphicsItem *item) const。

[override virtual] QPainterPath QGraphicsSimpleTextItem::opaqueArea() const

重新实现了:QAbstractGraphicsShapeItem::opaqueArea() const。

[override virtual] void QGraphicsSimpleTextItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)

重写了:QGraphicsItem::paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)。

void QGraphicsSimpleTextItem::setFont(const QFont &font)

将用于绘制该项目文本的字体设置为font 。

另请参阅 font()。

void QGraphicsSimpleTextItem::setText(const QString &text)

将项目的文本设置为text 。该文本将以纯文本形式显示。换行符('\n')以及类型为QChar::LineSeparator 的字符都会导致项目将文本拆分为多行。

另请参阅 text()。

[override virtual] QPainterPath QGraphicsSimpleTextItem::shape() const

重新实现了:QGraphicsItem::shape() const。

QString QGraphicsSimpleTextItem::text() const

返回该项目的文本。

另请参阅 setText()。

[override virtual] int QGraphicsSimpleTextItem::type() const

重新实现了:QGraphicsItem::type() const。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.