Sur cette page

QGraphicsTextItem Class

La classe `QGraphicsTextItem` fournit un élément de texte que vous pouvez ajouter à un ` QGraphicsScene ` pour afficher du texte mis en forme. En savoir plus...

En-tête : #include <QGraphicsTextItem>
CMake : find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake : QT += widgets
Hérite de : QGraphicsObject

Types publics

enum { Type }

Propriétés

Fonctions publiques

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

Fonctions publiques réimplémentées

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

Signaux

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

Fonctions protégées réimplémentées

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

Description détaillée

Si vous avez uniquement besoin d'afficher du texte brut dans un élément, envisagez plutôt d'utiliser QGraphicsSimpleTextItem.

Pour définir le texte de l'élément, passez un objet ` QString ` au constructeur de `QGraphicsTextItem`, ou appelez les méthodes ` setHtml()` / `setPlainText()`.

QGraphicsTextItem utilise la taille formatée du texte et la police associée pour fournir une implémentation raisonnable des méthodes boundingRect(), shape() et contains(). Vous pouvez définir la police en appelant setFont().

Il est possible de rendre l’élément modifiable en activant l’indicateur ` Qt::TextEditorInteraction ` à l’aide de ` setTextInteractionFlags()`.

La largeur de texte préférée de l'élément peut être définie à l'aide de setTextWidth() et obtenue à l'aide de textWidth().

Remarque : pour aligner le texte HTML au centre, la largeur du texte de l'élément doit être définie. Sinon, vous pouvez appeler adjustSize() après avoir défini le texte de l'élément.

Paragraphe tracé près de l'origine

Remarque : QGraphicsTextItem accepte par défaut la valeur « hover events ». Vous pouvez modifier ce comportement à l’aide de setAcceptHoverEvents().

Voir également QGraphicsSimpleTextItem, QGraphicsPathItem, QGraphicsRectItem, QGraphicsEllipseItem, QGraphicsPixmapItem, QGraphicsPolygonItem, QGraphicsLineItem et Graphics View Framework.

Documentation sur les types de membres

[anonymous] enum

Valeur renvoyée par la fonction virtuelle ` type()`.

ConstanteValeurDescription
QGraphicsTextItem::Type8Un élément de texte graphique

Documentation sur les propriétés

Indique si QGraphicsTextItem doit ouvrir automatiquement les liens à l'aide de QDesktopServices::openUrl() au lieu d'émettre le signal linkActivated.

La valeur par défaut est false.

Fonctions d'accès :

bool openExternalLinks() const
void setOpenExternalLinks(bool open)

textCursor : QTextCursor

Cette propriété représente le curseur de texte visible dans un élément de texte modifiable.

Par défaut, si le texte de l'élément n'a pas été défini, cette propriété contient un curseur de texte nul ; dans le cas contraire, elle contient un curseur de texte placé au début du document de l'élément.

Fonctions d'accès :

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

Documentation sur les fonctions de membre

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

Crée un objet `QGraphicsTextItem`. L'objet ` parent ` est transmis au constructeur de ` QGraphicsItem`.

Voir aussi QGraphicsScene::addItem().

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

Crée un objet `QGraphicsTextItem` en utilisant ` text ` comme texte brut par défaut. ` parent ` est transmis au constructeur de ` QGraphicsItem`.

Voir également QGraphicsScene::addItem().

[virtual noexcept] QGraphicsTextItem::~QGraphicsTextItem()

Supprime l'QGraphicsTextItem.

void QGraphicsTextItem::adjustSize()

Ajuste la taille de l'élément de texte à une taille raisonnable.

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

Réimplémente : QGraphicsItem::boundingRect() const.

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

Réimplémente : ` QGraphicsItem::contains(const QPointF& point) const`.

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

Réimplémente : QGraphicsItem::contextMenuEvent(QGraphicsSceneContextMenuEvent *event).

QColor QGraphicsTextItem::defaultTextColor() const

Renvoie la couleur de texte par défaut utilisée pour le texte non formaté.

Voir aussi setDefaultTextColor().

QTextDocument *QGraphicsTextItem::document() const

Renvoie le document texte de l'élément.

Voir aussi setDocument().

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

Réimplémente : QGraphicsItem::dragEnterEvent(QGraphicsSceneDragDropEvent *event).

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

Réimplémente : QGraphicsItem::dragLeaveEvent(QGraphicsSceneDragDropEvent *event).

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

Réimplémente : QGraphicsItem::dragMoveEvent(QGraphicsSceneDragDropEvent *event).

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

Réimplémente : QGraphicsItem::dropEvent(QGraphicsSceneDragDropEvent *event).

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

Réimplémente : QGraphicsItem::focusInEvent(QFocusEvent *event).

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

Réimplémente : QGraphicsItem::focusOutEvent(QFocusEvent *event).

QFont QGraphicsTextItem::font() const

Renvoie la police de l'élément, qui est utilisée pour afficher le texte.

Voir aussi setFont().

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

Réimplémente : QGraphicsItem::hoverEnterEvent(QGraphicsSceneHoverEvent *event).

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

Réimplémente : QGraphicsItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *event).

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

Réimplémente : QGraphicsItem::hoverMoveEvent(QGraphicsSceneHoverEvent *event).

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

Réimplémente : QGraphicsItem::inputMethodEvent(QInputMethodEvent *event).

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

Réimplémente : ` QGraphicsItem::inputMethodQuery` (requête `Qt::InputMethodQuery` de type `const`).

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

Réimplémente : QGraphicsItem::isObscuredBy(const QGraphicsItem *item) const.

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

Réimplémente : QGraphicsItem::keyPressEvent(QKeyEvent *event).

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

Réimplémente : QGraphicsItem::keyReleaseEvent(QKeyEvent *event).

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

Ce signal est émis lorsque l'utilisateur clique sur un lien dans un élément de texte qui redirige vers Qt::LinksAccessibleByMouse ou Qt::LinksAccessibleByKeyboard. link correspond au lien sur lequel l'utilisateur a cliqué.

Voir également setTextInteractionFlags().

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

Ce signal est émis lorsque l'utilisateur passe la souris sur un lien situé dans un élément de texte qui active Qt::LinksAccessibleByMouse. link est le lien sur lequel la souris a été placée.

Voir également setTextInteractionFlags().

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

Réimplémente : QGraphicsItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event).

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

Réimplémente : ` QGraphicsItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)`.

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

Réimplémente : QGraphicsItem::mousePressEvent(QGraphicsSceneMouseEvent *event).

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

Réimplémente : QGraphicsItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event).

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

Réimplémente : QGraphicsItem::opaqueArea() const.

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

Réimplémente : ` QGraphicsItem::paint` (`QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget`).

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

Réimplémente : QGraphicsItem::sceneEvent(QEvent *event).

void QGraphicsTextItem::setDefaultTextColor(const QColor &col)

Définit la couleur du texte non formaté sur « col ».

Voir aussi defaultTextColor().

void QGraphicsTextItem::setDocument(QTextDocument *document)

Définit le document texte « document » sur l'élément.

Voir également document().

void QGraphicsTextItem::setFont(const QFont &font)

Définit la police utilisée pour afficher l'élément de texte sur « font ».

Voir aussi font().

void QGraphicsTextItem::setHtml(const QString &text)

Définit le texte de l'élément sur text, en partant du principe que ce texte est au format HTML. Si l'élément a le focus du clavier, cette fonction appelle également ensureVisible() pour s'assurer que le texte est visible dans toutes les fenêtres d'affichage.

Voir également toHtml(), hasFocus() et QGraphicsSimpleTextItem.

void QGraphicsTextItem::setPlainText(const QString &text)

Définit le texte de l'élément sur « text ». Si l'élément a le focus du clavier, cette fonction appelle également la méthode ensureVisible() afin de garantir que le texte soit visible dans toutes les fenêtres d'affichage.

Voir également toHtml() et hasFocus().

void QGraphicsTextItem::setTabChangesFocus(bool b)

Si la valeur de « b » est « true », la touche « Tab » provoque le changement de focus du widget ; dans le cas contraire, la touche « Tab » insère un tabulation dans le document.

Dans certains cas, les éditeurs de texte ne doivent pas permettre à l’utilisateur d’insérer des tabulations ou de modifier l’indentation à l’aide de la touche Tab, car cela rompt la chaîne de focus. La valeur par défaut est « false ».

Voir également tabChangesFocus(), ItemIsFocusable et textInteractionFlags().

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

Définit les indicateurs « flags » afin de spécifier comment l'élément de texte doit réagir aux actions de l'utilisateur.

La valeur par défaut de l'QGraphicsTextItem est « Qt::NoTextInteraction ». Cette fonction affecte également l'indicateur « ItemIsFocusable » QGraphicsItem: elle l'active si « flags » est différent de « Qt::NoTextInteraction » et le désactive dans le cas contraire.

Par défaut, le texte est en lecture seule. Pour transformer l'élément en éditeur, activez l'indicateur Qt::TextEditable.

Voir également textInteractionFlags().

void QGraphicsTextItem::setTextWidth(qreal width)

Définit la largeur souhaitée pour le texte de l'élément. Si le texte réel dépasse la largeur spécifiée, il sera réparti sur plusieurs lignes.

Si la valeur « width » est définie sur -1, le texte ne sera pas réparti sur plusieurs lignes, sauf si cela est imposé par un saut de ligne explicite ou un nouveau paragraphe.

La valeur par défaut est -1.

Notez que la fonction ` QGraphicsTextItem ` conserve en interne un objet ` QTextDocument `, qui sert à calculer la largeur du texte.

Voir également textWidth() et QTextDocument::setTextWidth().

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

Réimplémente : QGraphicsItem::shape() const.

bool QGraphicsTextItem::tabChangesFocus() const

Renvoie « true » si la clé « Tab » entraîne un changement de focus du widget ; sinon, la fonction renvoie « false ».

Par défaut, ce comportement est désactivé et cette fonction renvoie « false ».

Voir également setTabChangesFocus().

Qt::TextInteractionFlags QGraphicsTextItem::textInteractionFlags() const

Renvoie les indicateurs d'interaction avec le texte actuels.

Voir aussi setTextInteractionFlags().

qreal QGraphicsTextItem::textWidth() const

Renvoie la largeur du texte.

La largeur est calculée à l'aide de l'QTextDocument, que QGraphicsTextItem conserve en interne.

Voir aussi setTextWidth() et QTextDocument::textWidth().

QString QGraphicsTextItem::toHtml() const

Renvoie le texte de l'élément converti au format HTML, ou un objet « QString » vide si aucun texte n'a été défini.

Voir aussi setHtml().

QString QGraphicsTextItem::toPlainText() const

Renvoie le texte de l'élément converti en texte brut, ou une instance vide de ` QString ` si aucun texte n'a été défini.

Voir aussi setPlainText().

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

Réimplémente : 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.