QGraphicsTextItem 类
The QGraphicsTextItem class provides a text item that you can add to a QGraphicsScene to display formatted text. 更多...
头文件 | #include <QGraphicsTextItem> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake | QT += widgets |
继承 | QGraphicsObject |
公共类型
枚举 | 匿名 { 类型 } |
属性
- openExternalLinks : bool
- textCursor : QTextCursor
公共函数
QGraphicsTextItem(QGraphicsItem *parent = nullptr) | |
QGraphicsTextItem(const QString &text, QGraphicsItem *parent = nullptr) | |
虚拟 | ~QGraphicsTextItem() |
void | adjustSize() |
QColor | defaultTextColor() const |
QTextDocument * | document() const |
QFont | font() const |
bool | openExternalLinks() const |
void | setDefaultTextColor(const QColor &col) |
void | setDocument(QTextDocument *document) |
void | setFont(const QFont &font) |
void | setHtml(const QString &text) |
void | setOpenExternalLinks(bool open) |
void | setPlainText(const QString &text) |
void | setTabChangesFocus(bool b) |
void | setTextCursor(const QTextCursor &cursor) |
void | setTextInteractionFlags(Qt::TextInteractionFlags flags) |
void | setTextWidth(qreal width) |
bool | tabChangesFocus() const |
QTextCursor | textCursor() const |
Qt::TextInteractionFlags | textInteractionFlags() const |
qreal | textWidth() const |
QString | toHtml() const |
QString | toPlainText() const |
重写公共函数
virtual QRectF | boundingRect() const override |
虚拟 bool | contains(const QPointF &point) const override |
虚拟 bool | isObscuredBy(const QGraphicsItem *item) const override |
虚拟 QPainterPath | opaqueArea() const override |
虚拟 void | paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override |
虚拟 QPainterPath | shape() const override |
虚拟 int | type() const override |
信号
void | linkActivated(const QString &link) |
void | linkHovered(const QString &link) |
重实现的受保护函数
虚拟 void | contextMenuEvent(QGraphicsSceneContextMenuEvent *event) override |
虚拟 void | dragEnterEvent(QGraphicsSceneDragDropEvent *event) override |
虚拟 void | dragLeaveEvent(QGraphicsSceneDragDropEvent *event) override |
虚拟 void | dragMoveEvent(QGraphicsSceneDragDropEvent *event) override |
虚拟 void | dropEvent(QGraphicsSceneDragDropEvent *event) override |
虚拟 void | focusInEvent(QFocusEvent *event) override |
虚拟 void | focusOutEvent(QFocusEvent *event) override |
虚拟 void | hoverEnterEvent(QGraphicsSceneHoverEvent *event) override |
虚拟 void | hoverLeaveEvent(QGraphicsSceneHoverEvent *event) override |
虚拟 void | hoverMoveEvent(QGraphicsSceneHoverEvent *event) override |
虚拟 void | inputMethodEvent(QInputMethodEvent *event) override |
虚拟 QVariant | inputMethodQuery(Qt::InputMethodQuery query) const override |
虚拟 void | keyPressEvent(QKeyEvent *event) override |
虚拟 void | keyReleaseEvent(QKeyEvent *event) override |
虚拟 void | mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) override |
虚拟 void | mouseMoveEvent(QGraphicsSceneMouseEvent *event) override |
虚拟 void | mousePressEvent(QGraphicsSceneMouseEvent *event) override |
虚拟 void | mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override |
虚拟 bool | sceneEvent(QEvent *event) override |
详细描述
如果你只需在项目中显示纯文本,请考虑使用 QGraphicsSimpleTextItem。
要设置项目的文本,将一个 QString 传递给 QGraphicsTextItem 的构造函数,或者调用 setHtml()/setPlainText。
QGraphicsTextItem 使用文本的格式化大小和相关的字体来实现 boundingRect(),shape() 和 contains()。你可以通过调用 setFont() 来设置字体。
可以通过使用 setTextInteractionFlags() 设置 Qt::TextEditorInteraction 标志来使项目可编辑。
可以使用 setTextWidth() 设置项目的首选文本宽度,并使用 textWidth() 获取它。
注意:为了使HTML文本居中,必须设置项的文本宽度。否则,可以在设置项的文本后调用adjustSize()。
注意:QGraphicsTextItem默认接受hover事件。您可以使用setAcceptHoverEvents()来更改这一点。
另请参阅:QGraphicsSimpleTextItem、QGraphicsPathItem、QGraphicsRectItem、QGraphicsEllipseItem、QGraphicsPixmapItem、QGraphicsPolygonItem、QGraphicsLineItem和Graphics View框架。
属性文档
openExternalLinks : bool
指定是否使用QGraphicsTextItem默认通过QDesktopServices::openUrl()自动打开链接,而不是发出linkActivated信号。
默认值为false。
访问函数
bool | openExternalLinks() const |
void | setOpenExternalLinks(bool open) |
textCursor : QTextCursor
此属性表示在可编辑文本项中的可见文本光标。
默认情况下,如果未设置项的文本,则此属性包含一个空文本光标;否则,它包含一个放置在项的文档开头的文本光标。
访问函数
QTextCursor | textCursor() const |
void | setTextCursor(const QTextCursor &cursor) |
成员函数文档
[显式]
QGraphicsTextItem::QGraphicsTextItem(QGraphicsItem *parent = nullptr)
构建一个QGraphicsTextItem。将parent传递给QGraphicsItem的构造函数。
[显式]
QGraphicsTextItem::QGraphicsTextItem(const QString &text, QGraphicsItem *parent = nullptr)
使用text作为默认纯文本构建一个QGraphicsTextItem。将parent传递给QGraphicsItem的构造函数。
[虚拟 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::LinksAccessibleByMouse 或 Qt::LinksAccessibleByKeyboard 时,此信号被触发。link 是被点击的链接。
另请参阅setTextInteractionFlags().
[信号]
void QGraphicsTextItem::linkHovered(const QString &link)
当用户在文本项的链接上悬停时,此信号被触发,链接启用了 Qt::LinksAccessibleByMouse。link 是被悬停的链接。
另请参阅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。
void QGraphicsTextItem::setDocument(QTextDocument *document)
在项目上设置文本文档 document。
参考document。
void QGraphicsTextItem::setFont(const QFont &font)
设置用于渲染文本项的字体为 font。
参考font。
void QGraphicsTextItem::setHtml(const QString &text)
将项目的文本设置为 text,假设文本是HTML格式。如果项目有键盘输入焦点,此函数也会调用 ensureVisible() 以确保文本在所有视口中可见。
参考toHtml、hasFocus 和 QGraphicsSimpleTextItem。
void QGraphicsTextItem::setPlainText(const QString &text)
设置项的文本为text。如果该项具有键盘输入焦点,此函数还将调用ensureVisible() 确保文本在所有视口中都可见。
void QGraphicsTextItem::setTabChangesFocus(bool b)
如果 b 为真,则 Tab 键将导致小部件焦点更改;否则,Tab 键将向文档中插入制表符。
在某些情况下,文本编辑应不允许用户使用 Tab 键输入制表符或更改缩进,因为这会破坏焦点链。默认值是 false。
另请参阅tabChangesFocus(),ItemIsFocusable 和 textInteractionFlags。
void QGraphicsTextItem::setTextInteractionFlags(Qt::TextInteractionFlags flags)
设置标志 flags 以指定文本项应如何响应用户输入。
默认情况下,QGraphicsTextItem 的值为 Qt::NoTextInteraction。此函数还通过设置 flags 与 Qt::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公司的商标。所有其他商标均为各自所有者的财产。