Класс QGraphicsTextItem
Класс QGraphicsTextItem предоставляет элемент текста, который можно добавить в QGraphicsScene для отображения форматированного текста. Подробнее...
| Заголовок: | #include <QGraphicsTextItem> |
| qmake: | QT += widgets |
| С момента: | Qt 4.2 |
| Наследуется от: | QGraphicsObject |
Открытые типы
| Перечисление | безымянный { Type } |
Свойства
- openExternalLinks : bool
- textCursor : QTextCursor
- 12 свойств унаследовано от QGraphicsObject
- 1 свойство унаследовано от QObject
Открытые функции
| QGraphicsTextItem(QGraphicsItem *parent = nullptr) | |
| QGraphicsTextItem(const QString &text, 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 |
- 2 открытых функции унаследованы от QGraphicsObject
- 34 открытых функции унаследованы от QObject
- 176 открытых функций унаследованы от QGraphicsItem
Сигналы
| void | linkActivated(const QString &link) |
| void | linkHovered(const QString &link) |
- 9 сигналов унаследовано от QGraphicsObject
- 2 сигнала унаследовано от QObject
Переопределённые защищённые функции
| 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 |
- 1 защищённая функция, унаследованная от QGraphicsObject
- 9 защищённых функций, унаследованных от QObject
- 24 защищённых функций, унаследованных от QGraphicsItem
Дополнительные унаследованные члены
- 1 открытый слот, унаследованный от QObject
- 1 открытая переменная, унаследованная от QObject
- 10 статические открытые члены, унаследованные от QObject
- 1 защищённая функция, унаследованная от QGraphicsObject
- 9 защищённых функций, унаследованных от QObject
- 24 защищённых функций, унаследованных от QGraphicsItem
- 1 защищённый слот, унаследованный от QGraphicsObject
- 2 защищённые переменные, унаследованные от QObject
Подробное описание
Класс QGraphicsTextItem предоставляет текстовый элемент, который можно добавить в QGraphicsScene для отображения форматированного текста.
Если вам нужно только отобразить обычный текст в элементе, рассмотрите использование 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(QGraphicsItem *parent = nullptr)
Создаёт QGraphicsTextItem. parent передаётся в конструктор QGraphicsItem.
См. также QGraphicsScene::addItem().
QGraphicsTextItem::QGraphicsTextItem(const QString &text, QGraphicsItem *parent = nullptr)
Создаёт QGraphicsTextItem с использованием text в качестве стандартного простого текста. parent передаётся в конструктор QGraphicsItem.
См. также QGraphicsScene::addItem().
[virtual] QGraphicsTextItem::~QGraphicsTextItem()
Уничтожает QGraphicsTextItem.
void QGraphicsTextItem::adjustSize()
Настраивает размер текстового элемента до разумного значения.
[override virtual] QRectF QGraphicsTextItem::boundingRect() const
Реализовано повторно из QGraphicsItem::boundingRect().
[override virtual] bool QGraphicsTextItem::contains(const QPointF &point) const
Реализовано повторно из QGraphicsItem::contains().
[override virtual protected] void QGraphicsTextItem::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
Реализовано повторно из QGraphicsItem::contextMenuEvent().
QColor QGraphicsTextItem::defaultTextColor() const
Возвращает цвет текста по умолчанию, используемый для неформатированного текста.
См. также setDefaultTextColor().
QTextDocument *QGraphicsTextItem::document() const
Возвращает документ текста элемента.
См. также setDocument().
[override virtual protected] void QGraphicsTextItem::dragEnterEvent(QGraphicsSceneDragDropEvent *event)
Реализовано повторно из QGraphicsItem::dragEnterEvent().
[override virtual protected] void QGraphicsTextItem::dragLeaveEvent(QGraphicsSceneDragDropEvent *event)
Реализовано повторно из QGraphicsItem::dragLeaveEvent().
[override virtual protected] void QGraphicsTextItem::dragMoveEvent(QGraphicsSceneDragDropEvent *event)
Реализовано повторно из QGraphicsItem::dragMoveEvent().
[override virtual protected] void QGraphicsTextItem::dropEvent(QGraphicsSceneDragDropEvent *event)
Реализовано повторно из QGraphicsItem::dropEvent().
[override virtual protected] void QGraphicsTextItem::focusInEvent(QFocusEvent *event)
Реализовано повторно из QGraphicsItem::focusInEvent().
[override virtual protected] void QGraphicsTextItem::focusOutEvent(QFocusEvent *event)
Реализовано повторно из QGraphicsItem::focusOutEvent().
QFont QGraphicsTextItem::font() const
Возвращает шрифт элемента, используемый для отображения текста.
См. также setFont().
[override virtual protected] void QGraphicsTextItem::hoverEnterEvent(QGraphicsSceneHoverEvent *event)
Реализовано повторно из QGraphicsItem::hoverEnterEvent().
[override virtual protected] void QGraphicsTextItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
Реализовано повторно из QGraphicsItem::hoverLeaveEvent().
[override virtual protected] void QGraphicsTextItem::hoverMoveEvent(QGraphicsSceneHoverEvent *event)
Реализовано повторно из QGraphicsItem::hoverMoveEvent().
[override virtual protected] void QGraphicsTextItem::inputMethodEvent(QInputMethodEvent *event)
Реализовано повторно из QGraphicsItem::inputMethodEvent().
[override virtual protected] QVariant QGraphicsTextItem::inputMethodQuery(Qt::InputMethodQuery query) const
Реализовано повторно из QGraphicsItem::inputMethodQuery().
[override virtual] bool QGraphicsTextItem::isObscuredBy(const QGraphicsItem *item) const
Реализовано повторно из QGraphicsItem::isObscuredBy().
[override virtual protected] void QGraphicsTextItem::keyPressEvent(QKeyEvent *event)
Реализовано повторно из QGraphicsItem::keyPressEvent().
[override virtual protected] void QGraphicsTextItem::keyReleaseEvent(QKeyEvent *event)
Реализовано повторно из QGraphicsItem::keyReleaseEvent().
[signal] void QGraphicsTextItem::linkActivated(const QString &link)
Этот сигнал излучается, когда пользователь щелкает по ссылке в элементе текста, который позволяет Qt::LinksAccessibleByMouse или Qt::LinksAccessibleByKeyboard. link — это ссылка, по которой был произведён щелчок.
См. также setTextInteractionFlags().
[signal] void QGraphicsTextItem::linkHovered(const QString &link)
Этот сигнал излучается, когда пользователь наводит указатель мыши на ссылку в элементе текста, который позволяет Qt::LinksAccessibleByMouse. link — это ссылка, на которую был наведён указатель.
См. также setTextInteractionFlags().
[override virtual protected] void QGraphicsTextItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)
Реализовано повторно из QGraphicsItem::mouseDoubleClickEvent().
[override virtual protected] void QGraphicsTextItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
Реализовано повторно из QGraphicsItem::mouseMoveEvent().
[override virtual protected] void QGraphicsTextItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
Реализовано повторно из QGraphicsItem::mousePressEvent().
[override virtual protected] void QGraphicsTextItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
Реализовано повторно из QGraphicsItem::mouseReleaseEvent().
[override virtual] QPainterPath QGraphicsTextItem::opaqueArea() const
Реализовано повторно из QGraphicsItem::opaqueArea().
[override virtual] void QGraphicsTextItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
Реализовано повторно из QGraphicsItem::paint().
[override virtual protected] bool QGraphicsTextItem::sceneEvent(QEvent *event)
Реализовано повторно из QGraphicsItem::sceneEvent().
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().
bool QGraphicsTextItem::tabChangesFocus() const
Возвращает 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().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qgraphicstextitem.html