Класс QGraphicsTextItem
Класс QGraphicsTextItem предоставляет элемент текста, который можно добавить в QGraphicsScene для отображения форматированного текста. Подробнее...
| Заголовок: | #include <QGraphicsTextItem> |
| CMake: | find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Наследуется от: | QGraphicsObject |
Открытые типы
| перечисление | безымянный { Type } |
Свойства
- openExternalLinks : bool
- textCursor : QTextCursor
Открытые функции
| QGraphicsTextItem(const QString &text, QGraphicsItem *parent = nullptr) | |
| QGraphicsTextItem(QGraphicsItem *parent = nullptr) | |
| virtual | ~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 |
| 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 |
Сигналы
| void | linkActivated(const QString &link) |
| void | linkHovered(const QString &link) |
Переопределённые защищённые функции
| virtual void | contextMenuEvent(QGraphicsSceneContextMenuEvent *event) override |
| virtual void | dragEnterEvent(QGraphicsSceneDragDropEvent *event) override |
| virtual void | dragLeaveEvent(QGraphicsSceneDragDropEvent *event) override |
| virtual void | dragMoveEvent(QGraphicsSceneDragDropEvent *event) override |
| virtual void | dropEvent(QGraphicsSceneDragDropEvent *event) override |
| virtual void | focusInEvent(QFocusEvent *event) override |
| virtual void | focusOutEvent(QFocusEvent *event) override |
| virtual void | hoverEnterEvent(QGraphicsSceneHoverEvent *event) override |
| virtual void | hoverLeaveEvent(QGraphicsSceneHoverEvent *event) override |
| virtual void | hoverMoveEvent(QGraphicsSceneHoverEvent *event) override |
| virtual void | inputMethodEvent(QInputMethodEvent *event) override |
| virtual QVariant | inputMethodQuery(Qt::InputMethodQuery query) const override |
| virtual void | keyPressEvent(QKeyEvent *event) override |
| virtual void | keyReleaseEvent(QKeyEvent *event) override |
| virtual void | mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) override |
| virtual void | mouseMoveEvent(QGraphicsSceneMouseEvent *event) override |
| virtual void | mousePressEvent(QGraphicsSceneMouseEvent *event) override |
| virtual void | mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override |
| virtual bool | sceneEvent(QEvent *event) override |
Подробное описание
Если вам нужно отобразить только обычный текст в элементе, используйте QGraphicsSimpleTextItem вместо него.
Чтобы установить текст элемента, передайте QString в конструктор QGraphicsTextItem или вызовите setHtml()/setPlainText().
QGraphicsTextItem использует отформатированный размер текста и связанный шрифт для обеспечения разумной реализации boundingRect(), shape() и contains(). Вы можете установить шрифт, вызвав setFont().
Можно сделать элемент редактируемым, установив флаг Qt::TextEditorInteraction с помощью setTextInteractionFlags().
Предпочтительная ширина текста элемента может быть установлена с помощью setTextWidth() и получена с помощью textWidth().
Примечание: Для выравнивания HTML-текста по центру необходимо установить ширину текста элемента. В противном случае можно вызвать adjustSize() после установки текста элемента.
Примечание: QGraphicsTextItem принимает события наведения по умолчанию. Вы можете изменить это с помощью setAcceptHoverEvents().
См. также QGraphicsSimpleTextItem, QGraphicsPathItem, QGraphicsRectItem, QGraphicsEllipseItem, QGraphicsPixmapItem, QGraphicsPolygonItem, QGraphicsLineItem и Графический фреймворк.
Документация по типам членов
перечисление QGraphicsTextItem::anonymous
Значение, возвращаемое виртуальной функцией type().
| Константа | Значение | Описание |
|---|---|---|
QGraphicsTextItem::Type |
8 |
Элемент графического текста |
Документация по свойствам
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(const QString &text, QGraphicsItem *parent = nullptr)
Создаёт QGraphicsTextItem, используя text в качестве исходного простого текста. parent передаётся в конструктор QGraphicsItem.
См. также QGraphicsScene::addItem().
QGraphicsTextItem::QGraphicsTextItem(QGraphicsItem *parent = nullptr)
Создаёт QGraphicsTextItem. parent передаётся в конструктор QGraphicsItem.
См. также QGraphicsScene::addItem().
[signal] void QGraphicsTextItem::linkActivated(const QString &link)
Этот сигнал генерируется, когда пользователь нажимает на ссылку в элементе текста, который позволяет Qt::LinksAccessibleByMouse или Qt::LinksAccessibleByKeyboard. link — нажатая ссылка.
См. также setTextInteractionFlags().
[signal] void QGraphicsTextItem::linkHovered(const QString &link)
Этот сигнал генерируется, когда пользователь наводит указатель мыши на ссылку в элементе текста, который позволяет Qt::LinksAccessibleByMouse. link — наведённая ссылка.
См. также setTextInteractionFlags().
[virtual] QGraphicsTextItem::~QGraphicsTextItem()
Удаляет QGraphicsTextItem.
void QGraphicsTextItem::adjustSize()
Настраивает размер элемента текста до разумного значения.
[override virtual] QRectF QGraphicsTextItem::boundingRect() const
Переопределяет: QGraphicsItem::boundingRect() const.
[override virtual] bool QGraphicsTextItem::contains(const QPointF &point) const
Реализует: QGraphicsItem::contains(const QPointF &point) const.
[override virtual protected] void QGraphicsTextItem::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
Реализует: QGraphicsItem::contextMenuEvent(QGraphicsSceneContextMenuEvent *event).
QColor QGraphicsTextItem::defaultTextColor() const
Возвращает цвет текста по умолчанию, используемый для неформатированного текста.
См. также setDefaultTextColor().
QTextDocument *QGraphicsTextItem::document() const
Возвращает текстовый документ элемента.
См. также setDocument().
[override virtual protected] void QGraphicsTextItem::dragEnterEvent(QGraphicsSceneDragDropEvent *event)
Реализует: QGraphicsItem::dragEnterEvent(QGraphicsSceneDragDropEvent *event).
[override virtual protected] void QGraphicsTextItem::dragLeaveEvent(QGraphicsSceneDragDropEvent *event)
Реализует: QGraphicsItem::dragLeaveEvent(QGraphicsSceneDragDropEvent *event).
[override virtual protected] void QGraphicsTextItem::dragMoveEvent(QGraphicsSceneDragDropEvent *event)
Реализует: QGraphicsItem::dragMoveEvent(QGraphicsSceneDragDropEvent *event).
[override virtual protected] void QGraphicsTextItem::dropEvent(QGraphicsSceneDragDropEvent *event)
Реализует: QGraphicsItem::dropEvent(QGraphicsSceneDragDropEvent *event).
[override virtual protected] void QGraphicsTextItem::focusInEvent(QFocusEvent *event)
Реализует: QGraphicsItem::focusInEvent(QFocusEvent *event).
[override virtual protected] void QGraphicsTextItem::focusOutEvent(QFocusEvent *event)
Реализует: QGraphicsItem::focusOutEvent(QFocusEvent *event).
QFont QGraphicsTextItem::font() const
Возвращает шрифт элемента, используемый для отрисовки текста.
См. также setFont().
[override virtual protected] void QGraphicsTextItem::hoverEnterEvent(QGraphicsSceneHoverEvent *event)
Реализует: QGraphicsItem::hoverEnterEvent(QGraphicsSceneHoverEvent *event).
[override virtual protected] void QGraphicsTextItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
Реализует: QGraphicsItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *event).
[override virtual protected] void QGraphicsTextItem::hoverMoveEvent(QGraphicsSceneHoverEvent *event)
Реализует: QGraphicsItem::hoverMoveEvent(QGraphicsSceneHoverEvent *event).
[override virtual protected] void QGraphicsTextItem::inputMethodEvent(QInputMethodEvent *event)
Реализует: QGraphicsItem::inputMethodEvent(QInputMethodEvent *event).
[override virtual protected] QVariant QGraphicsTextItem::inputMethodQuery(Qt::InputMethodQuery query) const
Реализует: QGraphicsItem::inputMethodQuery(Qt::InputMethodQuery query) const.
[override virtual] bool QGraphicsTextItem::isObscuredBy(const QGraphicsItem *item) const
Реализует: QGraphicsItem::isObscuredBy(const QGraphicsItem *item) const.
[override virtual protected] void QGraphicsTextItem::keyPressEvent(QKeyEvent *event)
Реализует: QGraphicsItem::keyPressEvent(QKeyEvent *event).
[override virtual protected] void QGraphicsTextItem::keyReleaseEvent(QKeyEvent *event)
Реализует: QGraphicsItem::keyReleaseEvent(QKeyEvent *event).
[override virtual protected] void QGraphicsTextItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)
Реализует: QGraphicsItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event).
[override virtual protected] void QGraphicsTextItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
Реализует: QGraphicsItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event).
[override virtual protected] void QGraphicsTextItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
Реализует: QGraphicsItem::mousePressEvent(QGraphicsSceneMouseEvent *event).
[override virtual protected] void QGraphicsTextItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
Реализует: QGraphicsItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event).
[override virtual] QPainterPath QGraphicsTextItem::opaqueArea() const
Реализует: QGraphicsItem::opaqueArea() const.
[override virtual] void QGraphicsTextItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
Реализует: QGraphicsItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget).
[override virtual protected] 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() для обеспечения видимости текста во всех окнах просмотра.
См. также toHtml(), hasFocus() и QGraphicsSimpleTextItem.
void QGraphicsTextItem::setPlainText(const QString &text)
Устанавливает текст элемента на text. Если у элемента есть фокус ввода с клавиатуры, эта функция также вызовет ensureVisible() для обеспечения видимости текста во всех окнах просмотра.
См. также toHtml() и hasFocus().
END_OF_DOCUMENT_MARKERvoid QGraphicsTextItem::setTabChangesFocus(bool b)
Если b равно true, нажатие клавиши Tab вызовет изменение фокуса на элементе; в противном случае клавиша Tab вставит табуляцию в документ.
В некоторых случаях текстовые поля не должны позволять пользователю вводить табуляторы или изменять отступы с помощью клавиши Tab, так как это нарушает цепочку фокуса. Значение по умолчанию — false.
См. также tabChangesFocus(), ItemIsFocusable и textInteractionFlags().
void QGraphicsTextItem::setTextInteractionFlags(Qt::TextInteractionFlags flags)
Устанавливает флаги flags, определяющие, как элемент текста должен реагировать на пользовательский ввод.
Значение по умолчанию для QGraphicsTextItem — Qt::NoTextInteraction. Эта функция также влияет на флаг QGraphicsItem ItemIsFocusable, устанавливая его, если flags отличается от Qt::NoTextInteraction, и очищая его в противном случае.
По умолчанию текст является только для чтения. Чтобы преобразовать элемент в редактор, установите флаг Qt::TextEditable.
См. также textInteractionFlags().
void QGraphicsTextItem::setTextWidth(qreal width)
Устанавливает предпочтительную ширину текста элемента. Если фактический текст шире указанной ширины, он будет разбиваться на несколько строк.
Если width установлено в -1, текст не будет разбиваться на несколько строк, если это не обусловлено явным разрывом строки или новой абзацем.
Значение по умолчанию — -1.
Обратите внимание, что QGraphicsTextItem хранит QTextDocument в памяти, который используется для вычисления ширины текста.
См. также textWidth() и QTextDocument::setTextWidth().
[override virtual] QPainterPath QGraphicsTextItem::shape() const
Переопределяет: QGraphicsItem::shape() const.
bool QGraphicsTextItem::tabChangesFocus() const
Возвращает true если нажатие клавиши Tab вызовет изменение фокуса на элементе; в противном случае возвращается false.
По умолчанию это поведение отключено, и эта функция вернёт false.
См. также setTabChangesFocus().
Qt::TextInteractionFlags QGraphicsTextItem::textInteractionFlags() const
Возвращает текущие флаги взаимодействия с текстом.
См. также setTextInteractionFlags().
qreal QGraphicsTextItem::textWidth() const
Возвращает ширину текста.
Ширина вычисляется с помощью QTextDocument, который QGraphicsTextItem хранит внутри.
См. также 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.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qgraphicstextitem.html