Класс QGraphicsTextItem
Класс QGraphicsTextItem предоставляет элемент текста, который можно добавить в QGraphicsScene для отображения форматированного текста. Подробнее...
| Заголовок: | #include <QGraphicsTextItem> |
| qmake: | QT += widgets |
| С момента: | Qt 4.2 |
| Наследует: | QGraphicsObject |
Этот класс был представлен в Qt 4.2.
Открытые типы
| перечисление | безымянный { 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) |
Переопределённые защищённые функции
| виртуальный 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().
Можно сделать элемент редактируемым, установив флаг Qt::TextEditorInteraction с помощью setTextInteractionFlags().
Предпочтительную ширину текста элемента можно установить с помощью setTextWidth() и получить с помощью textWidth().
Примечание: Для выравнивания текста HTML по центру необходимо установить ширину текста элемента. В противном случае можно вызвать adjustSize() после установки текста элемента.
Примечание: QGraphicsTextItem по умолчанию принимает события наведения. Вы можете изменить это с помощью setAcceptHoverEvents().
См. также QGraphicsSimpleTextItem, QGraphicsPathItem, QGraphicsRectItem, QGraphicsEllipseItem, QGraphicsPixmapItem, QGraphicsPolygonItem, QGraphicsLineItem и Графический фреймворк просмотра.
Документация по типам членов
enum 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().
void QGraphicsTextItem::setTabChangesFocus(bool b)
Если b имеет значение true, то нажатие клавиши Tab вызовет изменение фокуса виджета; в противном случае клавиша Tab вставит табуляцию в документ.
В некоторых случаях редактирование текста не должно допускать ввода табуляций или изменения отступов с помощью клавиши Tab, так как это нарушает цепочку фокуса. По умолчанию значение false.
Эта функция была добавлена в Qt 4.5.
См. также tabChangesFocus(), ItemIsFocusable и textInteractionFlags().
void QGraphicsTextItem::setTextInteractionFlags(Qt::TextInteractionFlags flags)
Устанавливает флаги flags, определяющие, как элемент текста должен реагировать на пользовательский ввод.
По умолчанию для QGraphicsTextItem установлено значение Qt::NoTextInteraction. Эта функция также влияет на флаг ItemIsFocusable QGraphicsItem, устанавливая его, если 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 значение true, если клавиша Tab вызовет изменение фокуса виджета; в противном случае возвращается false.
По умолчанию это поведение отключено, и эта функция вернет false.
Эта функция была добавлена в Qt 4.5.
См. также 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-5.15/qgraphicstextitem.html