En esta página

QGraphicsTextItem Class

La clase QGraphicsTextItem proporciona un elemento de texto que se puede añadir a un QGraphicsScene para mostrar texto formateado. Más...

Cabecera: #include <QGraphicsTextItem>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Hereda: QGraphicsObject

Tipos públicos

enum { Type }

Propiedades

Funciones públicas

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

Funciones públicas reimplementadas

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

Señales

void linkActivated(const QString &link)
void linkHovered(const QString &link)

Funciones protegidas reimplementadas

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

Descripción detallada

Si sólo necesitas mostrar texto plano en un ítem, considera usar QGraphicsSimpleTextItem en su lugar.

Para establecer el texto del elemento, pasa un QString al constructor de QGraphicsTextItem, o llama a setHtml()/setPlainText().

QGraphicsTextItem utiliza el tamaño del texto formateado y la fuente asociada para proporcionar una implementación razonable de boundingRect(), shape(), y contains(). Puede establecer el tipo de letra llamando a setFont().

Es posible hacer que el elemento sea editable estableciendo la bandera Qt::TextEditorInteraction utilizando setTextInteractionFlags().

El ancho de texto preferido del elemento puede establecerse utilizando setTextWidth() y obtenerse utilizando textWidth().

Nota: Para alinear el texto HTML en el centro, debe establecerse la anchura del texto del elemento. De lo contrario, puede llamar a adjustSize() después de establecer el texto del elemento.

Párrafo dibujado cerca del origen

Nota: QGraphicsTextItem acepta hover events por defecto. Puedes cambiar esto con setAcceptHoverEvents().

Ver también QGraphicsSimpleTextItem, QGraphicsPathItem, QGraphicsRectItem, QGraphicsEllipseItem, QGraphicsPixmapItem, QGraphicsPolygonItem, QGraphicsLineItem, y Graphics View Framework.

Documentación de tipos de miembros

[anonymous] enum

El valor devuelto por la función virtual type().

ConstanteValorDescripción
QGraphicsTextItem::Type8Un elemento de texto gráfico

Propiedad Documentación

Especifica si QGraphicsTextItem debe abrir automáticamente los enlaces utilizando QDesktopServices::openUrl() en lugar de emitir la señal linkActivated.

El valor por defecto es false.

Funciones de acceso:

bool openExternalLinks() const
void setOpenExternalLinks(bool open)

textCursor : QTextCursor

Esta propiedad representa el cursor de texto visible en un elemento de texto editable.

Por defecto, si no se ha establecido el texto del elemento, esta propiedad contiene un cursor de texto nulo; en caso contrario, contiene un cursor de texto situado al principio del documento del elemento.

Funciones de acceso:

QTextCursor textCursor() const
void setTextCursor(const QTextCursor &cursor)

Documentación de las funciones miembro

[explicit] QGraphicsTextItem::QGraphicsTextItem(QGraphicsItem *parent = nullptr)

Construye un QGraphicsTextItem. parent es pasado al constructor de QGraphicsItem.

Ver también QGraphicsScene::addItem().

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

Construye un QGraphicsTextItem, usando text como texto plano por defecto. parent se pasa al constructor de QGraphicsItem.

Ver también QGraphicsScene::addItem().

[virtual noexcept] QGraphicsTextItem::~QGraphicsTextItem()

Destruye el QGraphicsTextItem.

void QGraphicsTextItem::adjustSize()

Ajusta el elemento de texto a un tamaño razonable.

[override virtual] QRectF QGraphicsTextItem::boundingRect() const

Reimplementa: QGraphicsItem::boundingRect() const.

[override virtual] bool QGraphicsTextItem::contains(const QPointF &point) const

Reimplementa: QGraphicsItem::contains(const QPointF &point) const.

[override virtual protected] void QGraphicsTextItem::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)

Reimplementa: QGraphicsItem::contextMenuEvent(QGraphicsSceneContextMenuEvent *event).

QColor QGraphicsTextItem::defaultTextColor() const

Devuelve el color de texto por defecto que se utiliza para el texto sin formato.

Véase también setDefaultTextColor().

QTextDocument *QGraphicsTextItem::document() const

Devuelve el documento de texto del elemento.

Véase también setDocument().

[override virtual protected] void QGraphicsTextItem::dragEnterEvent(QGraphicsSceneDragDropEvent *event)

Reimplementa: QGraphicsItem::dragEnterEvent(QGraphicsSceneDragDropEvent *event).

[override virtual protected] void QGraphicsTextItem::dragLeaveEvent(QGraphicsSceneDragDropEvent *event)

Reimplementa: QGraphicsItem::dragLeaveEvent(QGraphicsSceneDragDropEvent *event).

[override virtual protected] void QGraphicsTextItem::dragMoveEvent(QGraphicsSceneDragDropEvent *event)

Reimplementa: QGraphicsItem::dragMoveEvent(QGraphicsSceneDragDropEvent *event).

[override virtual protected] void QGraphicsTextItem::dropEvent(QGraphicsSceneDragDropEvent *event)

Reimplementa: QGraphicsItem::dropEvent(QGraphicsSceneDragDropEvent *event).

[override virtual protected] void QGraphicsTextItem::focusInEvent(QFocusEvent *event)

Reimplementa: QGraphicsItem::focusInEvent(QFocusEvent *event).

[override virtual protected] void QGraphicsTextItem::focusOutEvent(QFocusEvent *event)

Reimplementa: QGraphicsItem::focusOutEvent(QFocusEvent *event).

QFont QGraphicsTextItem::font() const

Devuelve la fuente del elemento, que se utiliza para representar el texto.

Véase también setFont().

[override virtual protected] void QGraphicsTextItem::hoverEnterEvent(QGraphicsSceneHoverEvent *event)

Reimplementa: QGraphicsItem::hoverEnterEvent(QGraphicsSceneHoverEvent *event).

[override virtual protected] void QGraphicsTextItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)

Reimplementa: QGraphicsItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *event).

[override virtual protected] void QGraphicsTextItem::hoverMoveEvent(QGraphicsSceneHoverEvent *event)

Reimplementa: QGraphicsItem::hoverMoveEvent(QGraphicsSceneHoverEvent *event).

[override virtual protected] void QGraphicsTextItem::inputMethodEvent(QInputMethodEvent *event)

Reimplementa: QGraphicsItem::inputMethodEvent(QInputMethodEvent *event).

[override virtual protected] QVariant QGraphicsTextItem::inputMethodQuery(Qt::InputMethodQuery query) const

Reimplementa: QGraphicsItem::inputMethodQuery(Qt::InputMethodQuery query) const.

[override virtual] bool QGraphicsTextItem::isObscuredBy(const QGraphicsItem *item) const

Reimplementa: QGraphicsItem::isObscuredBy(const QGraphicsItem *item) const.

[override virtual protected] void QGraphicsTextItem::keyPressEvent(QKeyEvent *event)

Reimplementa: QGraphicsItem::keyPressEvent(QKeyEvent *event).

[override virtual protected] void QGraphicsTextItem::keyReleaseEvent(QKeyEvent *event)

Reimplementa: QGraphicsItem::keyReleaseEvent(QKeyEvent *event).

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

Esta señal se emite cuando el usuario hace clic en un enlace de un elemento de texto que activa Qt::LinksAccessibleByMouse o Qt::LinksAccessibleByKeyboard. link es el enlace en el que se ha hecho clic.

Véase también setTextInteractionFlags().

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

Esta señal se emite cuando el usuario pasa el ratón por encima de un enlace de un elemento de texto que permite Qt::LinksAccessibleByMouse. link es el enlace sobre el que se ha pasado el ratón.

Véase también setTextInteractionFlags().

[override virtual protected] void QGraphicsTextItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)

Reimplementa: QGraphicsItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event).

[override virtual protected] void QGraphicsTextItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)

Reimplementa: QGraphicsItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event).

[override virtual protected] void QGraphicsTextItem::mousePressEvent(QGraphicsSceneMouseEvent *event)

Reimplementa: QGraphicsItem::mousePressEvent(QGraphicsSceneMouseEvent *event).

[override virtual protected] void QGraphicsTextItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)

Reimplementa: QGraphicsItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event).

[override virtual] QPainterPath QGraphicsTextItem::opaqueArea() const

Reimplementa: QGraphicsItem::opaqueArea() const.

[override virtual] void QGraphicsTextItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)

Reimplementa: QGraphicsItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget).

[override virtual protected] bool QGraphicsTextItem::sceneEvent(QEvent *event)

Reimplementa: QGraphicsItem::sceneEvent(QEvent *event).

void QGraphicsTextItem::setDefaultTextColor(const QColor &col)

Establece el color del texto sin formato en col.

Véase también defaultTextColor().

void QGraphicsTextItem::setDocument(QTextDocument *document)

Establece el documento de texto document en el elemento.

Véase también document().

void QGraphicsTextItem::setFont(const QFont &font)

Establece la fuente utilizada para representar el elemento de texto en font.

Véase también font().

void QGraphicsTextItem::setHtml(const QString &text)

Establece el texto del elemento en text, asumiendo que el texto tiene formato HTML. Si el elemento tiene foco de entrada de teclado, esta función también llamará a ensureVisible() para asegurarse de que el texto es visible en todos los viewports.

Véase también toHtml(), hasFocus(), y QGraphicsSimpleTextItem.

void QGraphicsTextItem::setPlainText(const QString &text)

Establece el texto del elemento en text. Si el elemento tiene el foco de entrada de teclado, esta función también llamará a ensureVisible() para asegurarse de que el texto es visible en todas las ventanas gráficas.

Véase también toHtml() y hasFocus().

void QGraphicsTextItem::setTabChangesFocus(bool b)

Si b es verdadero, la tecla Tab hará que el widget cambie de foco; en caso contrario, la tecla tabulador insertará un tabulador en el documento.

En algunas ocasiones las ediciones de texto no deberían permitir al usuario introducir tabuladores o cambiar la sangría utilizando la tecla Tab, ya que esto rompe la cadena de enfoque. El valor por defecto es false.

Véase también tabChangesFocus(), ItemIsFocusable, y textInteractionFlags().

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

Establece los indicadores flags para especificar cómo debe reaccionar el elemento de texto a la entrada del usuario.

El valor predeterminado para QGraphicsTextItem es Qt::NoTextInteraction. Esta función también afecta a la bandera ItemIsFocusable QGraphicsItem fijándola si flags es diferente de Qt::NoTextInteraction y borrándola en caso contrario.

Por defecto, el texto es de sólo lectura. Para transformar el elemento en un editor, active el indicador Qt::TextEditable.

Véase también textInteractionFlags().

void QGraphicsTextItem::setTextWidth(qreal width)

Establece el ancho preferido para el texto del elemento. Si el texto es más ancho que la anchura especificada, se dividirá en varias líneas.

Si width es -1, el texto no se dividirá en varias líneas a menos que se aplique un salto de línea explícito o un nuevo párrafo.

El valor por defecto es -1.

Tenga en cuenta que QGraphicsTextItem mantiene internamente un QTextDocument, que se utiliza para calcular la anchura del texto.

Véase también textWidth() y QTextDocument::setTextWidth().

[override virtual] QPainterPath QGraphicsTextItem::shape() const

Reimplementa: QGraphicsItem::shape() const.

bool QGraphicsTextItem::tabChangesFocus() const

Devuelve true si la tecla Tab hará que el widget cambie de foco; en caso contrario, devuelve false.

Por defecto, este comportamiento está desactivado, y esta función devolverá false.

Véase también setTabChangesFocus().

Qt::TextInteractionFlags QGraphicsTextItem::textInteractionFlags() const

Devuelve las banderas de interacción de texto actuales.

Véase también setTextInteractionFlags().

qreal QGraphicsTextItem::textWidth() const

Devuelve el ancho del texto.

El ancho se calcula con el QTextDocument que QGraphicsTextItem guarda internamente.

Véase también setTextWidth() y QTextDocument::textWidth().

QString QGraphicsTextItem::toHtml() const

Devuelve el texto del elemento convertido a HTML, o un QString vacío si no se ha establecido ningún texto.

Véase también setHtml().

QString QGraphicsTextItem::toPlainText() const

Devuelve el texto del elemento convertido a texto plano, o un QString vacío si no se ha establecido ningún texto.

Véase también setPlainText().

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

Reimplementa: QGraphicsItem::type() const.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.