QGraphicsTextItem 类

The QGraphicsTextItem class provides a text item that you can add to a QGraphicsScene to display formatted text. 更多...

头文件 #include <QGraphicsTextItem>
CMakefind_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmakeQT += widgets
继承 QGraphicsObject

公共类型

枚举匿名 { 类型 }

属性

公共函数

QGraphicsTextItem(QGraphicsItem *parent = nullptr)
QGraphicsTextItem(const QString &text, QGraphicsItem *parent = nullptr)
虚拟~QGraphicsTextItem()
voidadjustSize()
QColordefaultTextColor() const
QTextDocument *document() const
QFontfont() const
boolopenExternalLinks() const
voidsetDefaultTextColor(const QColor &col)
voidsetDocument(QTextDocument *document)
voidsetFont(const QFont &font)
voidsetHtml(const QString &text)
voidsetOpenExternalLinks(bool open)
voidsetPlainText(const QString &text)
voidsetTabChangesFocus(bool b)
voidsetTextCursor(const QTextCursor &cursor)
voidsetTextInteractionFlags(Qt::TextInteractionFlags flags)
voidsetTextWidth(qreal width)
booltabChangesFocus() const
QTextCursortextCursor() const
Qt::TextInteractionFlagstextInteractionFlags() const
qrealtextWidth() const
QStringtoHtml() const
QStringtoPlainText() const

重写公共函数

virtual QRectFboundingRect() const override
虚拟 boolcontains(const QPointF &point) const override
虚拟 boolisObscuredBy(const QGraphicsItem *item) const override
虚拟 QPainterPathopaqueArea() const override
虚拟 voidpaint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override
虚拟 QPainterPathshape() const override
虚拟 inttype() const override

信号

voidlinkActivated(const QString &link)
voidlinkHovered(const QString &link)

重实现的受保护函数

虚拟 voidcontextMenuEvent(QGraphicsSceneContextMenuEvent *event) override
虚拟 voiddragEnterEvent(QGraphicsSceneDragDropEvent *event) override
虚拟 voiddragLeaveEvent(QGraphicsSceneDragDropEvent *event) override
虚拟 voiddragMoveEvent(QGraphicsSceneDragDropEvent *event) override
虚拟 voiddropEvent(QGraphicsSceneDragDropEvent *event) override
虚拟 voidfocusInEvent(QFocusEvent *event) override
虚拟 voidfocusOutEvent(QFocusEvent *event) override
虚拟 voidhoverEnterEvent(QGraphicsSceneHoverEvent *event) override
虚拟 voidhoverLeaveEvent(QGraphicsSceneHoverEvent *event) override
虚拟 voidhoverMoveEvent(QGraphicsSceneHoverEvent *event) override
虚拟 voidinputMethodEvent(QInputMethodEvent *event) override
虚拟 QVariantinputMethodQuery(Qt::InputMethodQuery query) const override
虚拟 voidkeyPressEvent(QKeyEvent *event) override
虚拟 voidkeyReleaseEvent(QKeyEvent *event) override
虚拟 voidmouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) override
虚拟 voidmouseMoveEvent(QGraphicsSceneMouseEvent *event) override
虚拟 voidmousePressEvent(QGraphicsSceneMouseEvent *event) override
虚拟 voidmouseReleaseEvent(QGraphicsSceneMouseEvent *event) override
虚拟 boolsceneEvent(QEvent *event) override

详细描述

如果你只需在项目中显示纯文本,请考虑使用 QGraphicsSimpleTextItem

要设置项目的文本,将一个 QString 传递给 QGraphicsTextItem 的构造函数,或者调用 setHtml()/setPlainText

QGraphicsTextItem 使用文本的格式化大小和相关的字体来实现 boundingRect(),shape() 和 contains()。你可以通过调用 setFont() 来设置字体。

可以通过使用 setTextInteractionFlags() 设置 Qt::TextEditorInteraction 标志来使项目可编辑。

可以使用 setTextWidth() 设置项目的首选文本宽度,并使用 textWidth() 获取它。

注意:为了使HTML文本居中,必须设置项的文本宽度。否则,可以在设置项的文本后调用adjustSize()。

注意:QGraphicsTextItem默认接受hover事件。您可以使用setAcceptHoverEvents()来更改这一点。

另请参阅:QGraphicsSimpleTextItemQGraphicsPathItemQGraphicsRectItemQGraphicsEllipseItemQGraphicsPixmapItemQGraphicsPolygonItemQGraphicsLineItemGraphics View框架

成员类型文档

enum QGraphicsTextItem::匿名

虚函数type()返回的值。

常量描述
QGraphicsTextItem::Type8图形文本项

属性文档

指定是否使用QGraphicsTextItem默认通过QDesktopServices::openUrl()自动打开链接,而不是发出linkActivated信号。

默认值为false。

访问函数

boolopenExternalLinks() const
voidsetOpenExternalLinks(bool open)

textCursor : QTextCursor

此属性表示在可编辑文本项中的可见文本光标。

默认情况下,如果未设置项的文本,则此属性包含一个空文本光标;否则,它包含一个放置在项的文档开头的文本光标。

访问函数

QTextCursortextCursor() const
voidsetTextCursor(const QTextCursor &cursor)

成员函数文档

[显式] QGraphicsTextItem::QGraphicsTextItem(QGraphicsItem *parent = nullptr)

构建一个QGraphicsTextItem。将parent传递给QGraphicsItem的构造函数。

另请参阅:QGraphicsScene::addItem

[显式] QGraphicsTextItem::QGraphicsTextItem(const QString &text, QGraphicsItem *parent = nullptr)

使用text作为默认纯文本构建一个QGraphicsTextItem。将parent传递给QGraphicsItem的构造函数。

另请参阅:QGraphicsScene::addItem

[虚拟 noexcept] QGraphicsTextItem::~QGraphicsTextItem()

销毁一个QGraphicsTextItem。

void QGraphicsTextItem::adjustSize()

调整文本项到合理的大小。

[覆盖虚函数] QRectF QGraphicsTextItem::boundingRect() const

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

[重写虚函数] bool QGraphicsTextItem::contains(const QPointF &point) const

重写: QGraphicsItem::contains(const QPointF &point) const.

[重写虚函数受保护] void QGraphicsTextItem::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)

重写: QGraphicsItem::contextMenuEvent(QGraphicsSceneContextMenuEvent *event).

QColor QGraphicsTextItem::defaultTextColor() const

返回用于未格式化文本的默认文本颜色。

另请参阅setDefaultTextColor().

QTextDocument *QGraphicsTextItem::document() const

返回项的文本文档。

另请参阅setDocument().

[重写虚函数受保护] void QGraphicsTextItem::dragEnterEvent(QGraphicsSceneDragDropEvent *event)

重写: QGraphicsItem::dragEnterEvent(QGraphicsSceneDragDropEvent *event).

[重写虚函数受保护] void QGraphicsTextItem::dragLeaveEvent(QGraphicsSceneDragDropEvent *event)

重写: QGraphicsItem::dragLeaveEvent(QGraphicsSceneDragDropEvent *event).

[重写虚函数受保护] void QGraphicsTextItem::dragMoveEvent(QGraphicsSceneDragDropEvent *event)

重写: QGraphicsItem::dragMoveEvent(QGraphicsSceneDragDropEvent *event).

[重写虚函数受保护] void QGraphicsTextItem::dropEvent(QGraphicsSceneDragDropEvent *event)

重写: QGraphicsItem::dropEvent(QGraphicsSceneDragDropEvent *event).

[重写虚函数受保护] void QGraphicsTextItem::focusInEvent(QFocusEvent *event)

重写: QGraphicsItem::focusInEvent(QFocusEvent *event).

[重写虚函数受保护] void QGraphicsTextItem::focusOutEvent(QFocusEvent *event)

重写: QGraphicsItem::focusOutEvent(QFocusEvent *event).

QFont QGraphicsTextItem::font() const

返回项的字体,用于渲染文本。

另请参阅setFont().

[重写虚函数受保护] void QGraphicsTextItem::hoverEnterEvent(QGraphicsSceneHoverEvent *event)

重写: QGraphicsItem::hoverEnterEvent(QGraphicsSceneHoverEvent *event).

[重写虚受保护] void QGraphicsTextItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)

重定义: QGraphicsItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *event).

[重写虚受保护] void QGraphicsTextItem::hoverMoveEvent(QGraphicsSceneHoverEvent *event)

重定义: QGraphicsItem::hoverMoveEvent(QGraphicsSceneHoverEvent *event).

[重写虚受保护] void QGraphicsTextItem::inputMethodEvent(QInputMethodEvent *event)

重定义: QGraphicsItem::inputMethodEvent(QInputMethodEvent *event).

[重写虚 protected] QVariant QGraphicsTextItem::inputMethodQuery(Qt::InputMethodQuery query) const

重定义: QGraphicsItem::inputMethodQuery(Qt::InputMethodQuery query) const.

[重写虚] bool QGraphicsTextItem::isObscuredBy(const QGraphicsItem *item) const

重定义: QGraphicsItem::isObscuredBy(const QGraphicsItem *item) const.

[重写虚受保护] void QGraphicsTextItem::keyPressEvent(QKeyEvent *event)

重定义: QGraphicsItem::keyPressEvent(QKeyEvent *event).

[重写虚受保护] void QGraphicsTextItem::keyReleaseEvent(QKeyEvent *event)

重定义: QGraphicsItem::keyReleaseEvent(QKeyEvent *event).

[信号] void QGraphicsTextItem::linkActivated(const QString &link)

当用户点击文本项中的链接,并且链接启用了 Qt::LinksAccessibleByMouseQt::LinksAccessibleByKeyboard 时,此信号被触发。link 是被点击的链接。

另请参阅setTextInteractionFlags().

[信号] void QGraphicsTextItem::linkHovered(const QString &link)

当用户在文本项的链接上悬停时,此信号被触发,链接启用了 Qt::LinksAccessibleByMouselink 是被悬停的链接。

另请参阅setTextInteractionFlags().

[重写虚受保护] void QGraphicsTextItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)

重定义: QGraphicsItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event).

[覆盖虚保护] void QGraphicsTextItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)

重实现: QGraphicsItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event).

[覆盖虚保护] void QGraphicsTextItem::mousePressEvent(QGraphicsSceneMouseEvent *event)

重实现: QGraphicsItem::mousePressEvent(QGraphicsSceneMouseEvent *event).

[覆盖虚保护] void QGraphicsTextItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)

重实现: QGraphicsItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event).

[覆盖虚] QPainterPath QGraphicsTextItem::opaqueArea() const

重实现: QGraphicsItem::opaqueArea() const.

[覆盖虚] void QGraphicsTextItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)

重实现: QGraphicsItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget).

[覆盖虚保护] bool QGraphicsTextItem::sceneEvent(QEvent *event)

重实现: QGraphicsItem::sceneEvent(QEvent *event).

void QGraphicsTextItem::setDefaultTextColor(const QColor &col)

将未格式化文本的颜色设置为 col

参考defaultTextColor

void QGraphicsTextItem::setDocument(QTextDocument *document)

在项目上设置文本文档 document

参考document

void QGraphicsTextItem::setFont(const QFont &font)

设置用于渲染文本项的字体为 font

参考font

void QGraphicsTextItem::setHtml(const QString &text)

将项目的文本设置为 text,假设文本是HTML格式。如果项目有键盘输入焦点,此函数也会调用 ensureVisible() 以确保文本在所有视口中可见。

参考toHtmlhasFocusQGraphicsSimpleTextItem

void QGraphicsTextItem::setPlainText(const QString &text)

设置项的文本为text。如果该项具有键盘输入焦点,此函数还将调用ensureVisible() 确保文本在所有视口中都可见。

另请参阅toHtml() 和 hasFocus

void QGraphicsTextItem::setTabChangesFocus(bool b)

如果 b 为真,则 Tab 键将导致小部件焦点更改;否则,Tab 键将向文档中插入制表符。

在某些情况下,文本编辑应不允许用户使用 Tab 键输入制表符或更改缩进,因为这会破坏焦点链。默认值是 false。

另请参阅tabChangesFocus(),ItemIsFocusabletextInteractionFlags

void QGraphicsTextItem::setTextInteractionFlags(Qt::TextInteractionFlags flags)

设置标志 flags 以指定文本项应如何响应用户输入。

默认情况下,QGraphicsTextItem 的值为 Qt::NoTextInteraction。此函数还通过设置 flagsQt::NoTextInteraction 不同来影响 ItemIsFocusable QGraphicsItem 标志,并在其他情况下清除它。

默认情况下,文本为只读。要将项转换为编辑器,请设置 Qt::TextEditable 标志。

另请参阅textInteractionFlags

void QGraphicsTextItem::setTextWidth(qreal width)

设置项文本的首选宽度。如果实际文本比指定的宽度宽,则它将分成多行。

如果 width 设置为 -1,则除非通过显式换行符或新段落强制执行,否则文本不会分成多行。

默认值是 -1。

请注意,QGraphicsTextItem 内部保留有 QTextDocument,用于计算文本宽度。

另请参阅textWidth() 和 QTextDocument::setTextWidth

[重写虚函数] QPainterPath QGraphicsTextItem::shape() const

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

bool QGraphicsTextItem::tabChangesFocus() const

如果 Tab 键会导致小部件焦点更改,则返回 true;否则,返回 false。

默认情况下,此行为是禁用的,此函数将返回 false。

另请参阅setTabChangesFocus

Qt::TextInteractionFlags QGraphicsTextItem::textInteractionFlags() const

返回当前文本交互标志。

另请参阅setTextInteractionFlags().

qreal QGraphicsTextItem::textWidth() const

返回文本宽度。

宽度是通过内部持有的QTextDocument来计算的。

另请参阅setTextWidth()和QTextDocument::textWidth

QString QGraphicsTextItem::toHtml() const

返回项的文本转换为HTML的字符串,如果未设置文本,则返回空的QString

另请参阅setHtml

QString QGraphicsTextItem::toPlainText() const

返回项的文本转换为纯文本的字符串,如果未设置文本,则返回空的QString

另请参阅setPlainText

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

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

© 2024 Qt公司有限。本文档中包含的贡献的版权属于各自的所有者。本文档按照自由软件基金会发布的GNU自由文档许可证版本1.3的条款提供。Qt和相应的标志是芬兰以及/或世界上其他国家的Qt公司的商标。所有其他商标均为各自所有者的财产。