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
- openExternalLinks : bool
- textCursor : QTextCursor
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.

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()`.
| Constante | Valeur | Description |
|---|---|---|
QGraphicsTextItem::Type | 8 | Un élément de texte graphique |
Documentation sur les propriétés
openExternalLinks : bool
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.