QPlainTextEdit Class
La classe QPlainTextEdit fournit un widget permettant de modifier et d'afficher du texte brut. En savoir plus...
| En-tête : | #include <QPlainTextEdit> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake : | QT += widgets |
| Hérite de : | QAbstractScrollArea |
- Liste de tous les membres, y compris les membres hérités
- QPlainTextEdit fait partie des API de traitement de texte enrichi.
Types publics
| enum | LineWrapMode { NoWrap, WidgetWidth } |
Propriétés
|
|
Fonctions publiques
| QPlainTextEdit(QWidget *parent = nullptr) | |
| QPlainTextEdit(const QString &text, QWidget *parent = nullptr) | |
| virtual | ~QPlainTextEdit() |
| QString | anchorAt(const QPoint &pos) const |
| bool | backgroundVisible() const |
| int | blockCount() const |
| bool | canPaste() const |
| bool | centerOnScroll() const |
| QMenu * | createStandardContextMenu() |
| QMenu * | createStandardContextMenu(const QPoint &position) |
| QTextCharFormat | currentCharFormat() const |
| QTextCursor | cursorForPosition(const QPoint &pos) const |
| QRect | cursorRect() const |
| QRect | cursorRect(const QTextCursor &cursor) const |
| int | cursorWidth() const |
| QTextDocument * | document() const |
| QString | documentTitle() const |
| void | ensureCursorVisible() |
| QList<QTextEdit::ExtraSelection> | extraSelections() const |
| bool | find(const QString &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags()) |
| bool | find(const QRegularExpression &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags()) |
| bool | isReadOnly() const |
| bool | isUndoRedoEnabled() const |
| QPlainTextEdit::LineWrapMode | lineWrapMode() const |
| virtual QVariant | loadResource(int type, const QUrl &name) |
| int | maximumBlockCount() const |
| void | mergeCurrentCharFormat(const QTextCharFormat &modifier) |
| void | moveCursor(QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor) |
| bool | overwriteMode() const |
| QString | placeholderText() const |
| void | print(QPagedPaintDevice *printer) const |
| void | setBackgroundVisible(bool visible) |
| void | setCenterOnScroll(bool enabled) |
| void | setCurrentCharFormat(const QTextCharFormat &format) |
| void | setCursorWidth(int width) |
| void | setDocument(QTextDocument *document) |
| void | setDocumentTitle(const QString &title) |
| void | setExtraSelections(const QList<QTextEdit::ExtraSelection> &selections) |
| void | setLineWrapMode(QPlainTextEdit::LineWrapMode mode) |
| void | setMaximumBlockCount(int maximum) |
| void | setOverwriteMode(bool overwrite) |
| void | setPlaceholderText(const QString &placeholderText) |
| void | setReadOnly(bool ro) |
| void | setTabChangesFocus(bool b) |
| void | setTabStopDistance(qreal distance) |
| void | setTextCursor(const QTextCursor &cursor) |
| void | setTextInteractionFlags(Qt::TextInteractionFlags flags) |
| void | setUndoRedoEnabled(bool enable) |
| void | setWordWrapMode(QTextOption::WrapMode policy) |
| bool | tabChangesFocus() const |
| qreal | tabStopDistance() const |
| QTextCursor | textCursor() const |
| Qt::TextInteractionFlags | textInteractionFlags() const |
| QString | toPlainText() const |
| QTextOption::WrapMode | wordWrapMode() const |
Fonctions publiques réimplémentées
| virtual QVariant | inputMethodQuery(Qt::InputMethodQuery property) const override |
Slots publics
| void | appendHtml(const QString &html) |
| void | appendPlainText(const QString &text) |
| void | centerCursor() |
| void | clear() |
| void | copy() |
| void | cut() |
| void | insertPlainText(const QString &text) |
| void | paste() |
| void | redo() |
| void | selectAll() |
| void | setPlainText(const QString &text) |
| void | undo() |
| void | zoomIn(int range = 1) |
| void | zoomOut(int range = 1) |
Signaux
| void | blockCountChanged(int newBlockCount) |
| void | copyAvailable(bool yes) |
| void | cursorPositionChanged() |
| void | modificationChanged(bool changed) |
| void | redoAvailable(bool available) |
| void | selectionChanged() |
| void | textChanged() |
| void | undoAvailable(bool available) |
| void | updateRequest(const QRect &rect, int dy) |
Fonctions protégées
| QRectF | blockBoundingGeometry(const QTextBlock &block) const |
| QRectF | blockBoundingRect(const QTextBlock &block) const |
| virtual bool | canInsertFromMimeData(const QMimeData *source) const |
| QPointF | contentOffset() const |
| virtual QMimeData * | createMimeDataFromSelection() const |
| QTextBlock | firstVisibleBlock() const |
| QAbstractTextDocumentLayout::PaintContext | getPaintContext() const |
| virtual void | insertFromMimeData(const QMimeData *source) |
Fonctions protégées réimplémentées
| virtual void | changeEvent(QEvent *e) override |
| virtual void | contextMenuEvent(QContextMenuEvent *event) override |
| virtual void | dragEnterEvent(QDragEnterEvent *e) override |
| virtual void | dragLeaveEvent(QDragLeaveEvent *e) override |
| virtual void | dragMoveEvent(QDragMoveEvent *e) override |
| virtual void | dropEvent(QDropEvent *e) override |
| virtual void | focusInEvent(QFocusEvent *e) override |
| virtual bool | focusNextPrevChild(bool next) override |
| virtual void | focusOutEvent(QFocusEvent *e) override |
| virtual void | inputMethodEvent(QInputMethodEvent *e) override |
| virtual void | keyPressEvent(QKeyEvent *e) override |
| virtual void | keyReleaseEvent(QKeyEvent *e) override |
| virtual void | mouseDoubleClickEvent(QMouseEvent *e) override |
| virtual void | mouseMoveEvent(QMouseEvent *e) override |
| virtual void | mousePressEvent(QMouseEvent *e) override |
| virtual void | mouseReleaseEvent(QMouseEvent *e) override |
| virtual void | paintEvent(QPaintEvent *e) override |
| virtual void | resizeEvent(QResizeEvent *e) override |
| virtual void | scrollContentsBy(int dx, int dy) override |
| virtual void | showEvent(QShowEvent *) override |
| virtual void | wheelEvent(QWheelEvent *e) override |
Description détaillée
Introduction et concepts
QPlainTextEdit est un visualiseur/éditeur avancé prenant en charge le texte brut. Il est optimisé pour gérer des documents volumineux et pour répondre rapidement aux actions de l'utilisateur.
QPlainText utilise en grande partie la même technologie et les mêmes concepts que QTextEdit, mais est optimisé pour la gestion du texte brut.
QPlainTextEdit fonctionne avec des paragraphes et des caractères. Un paragraphe est une chaîne formatée dont le texte est renvoyé à la ligne pour s'adapter à la largeur du widget. Par défaut, lors de la lecture de texte brut, un saut de ligne correspond à un paragraphe. Un document se compose de zéro ou plusieurs paragraphes. Les paragraphes sont séparés par des sauts de ligne fixes. Chaque caractère d’un paragraphe possède ses propres attributs, tels que la police et la couleur.
La forme du curseur de souris sur un QPlainTextEdit est par défaut « Qt::IBeamCursor ». Elle peut être modifiée via la propriété «cursor» de la fonction « viewport()».
Utilisation de QPlainTextEdit comme widget d’affichage
Le texte est défini ou remplacé à l’aide de ` setPlainText()`, qui supprime le texte existant et le remplace par le texte transmis à ` setPlainText()`.
Le texte peut être inséré à l'aide de la classe ` QTextCursor ` ou des fonctions de commodité ` insertPlainText()`, ` appendPlainText()` ou ` paste()`.
Par défaut, la zone de texte effectue un retour à la ligne au niveau des espaces afin de s'adapter à la largeur du widget. La fonction setLineWrapMode() permet de spécifier le type de retour à la ligne souhaité : WidgetWidth ou NoWrap si vous ne souhaitez aucun retour à la ligne. Si vous utilisez le retour à la ligne en fonction de la largeur du widget ( WidgetWidth), vous pouvez choisir de couper la ligne au niveau des espaces ou n'importe où à l'aide de setWordWrapMode().
La fonction ` find()` permet de rechercher et de sélectionner une chaîne donnée dans le texte.
Si vous souhaitez limiter le nombre total de paragraphes dans un QPlainTextEdit, ce qui est par exemple utile dans un visualiseur de journaux, vous pouvez utiliser la propriété maximumBlockCount. La combinaison de setMaximumBlockCount() et appendPlainText() transforme QPlainTextEdit en un visualiseur efficace pour les journaux. Le défilement peut être réduit grâce à la propriété ` centerOnScroll()`, ce qui rend la visionneuse de journaux encore plus rapide. Le texte peut être mis en forme de manière limitée, soit à l’aide d’un surligneur de syntaxe (voir ci-dessous), soit en ajoutant du texte au format HTML à l’aide de ` appendHtml()`. Bien que `QPlainTextEdit` ne prenne pas en charge le rendu complexe de texte enrichi avec des tableaux et des éléments flottants, il prend en charge une mise en forme limitée basée sur les paragraphes, dont vous pourriez avoir besoin dans une visionneuse de journaux.
Raccourcis clavier en mode lecture seule
Lorsque QPlainTextEdit est utilisé en mode lecture seule, les raccourcis clavier sont limités à la navigation, et le texte ne peut être sélectionné qu’à l’aide de la souris :
| Appuis sur les touches | Action |
|---|---|
| Qt::UpArrow | Se déplace d’une ligne vers le haut. |
| Qt::DownArrow | Déplace d'une ligne vers le bas. |
| Qt::LeftArrow | Se déplace d'un caractère vers la gauche. |
| Qt::RightArrow | Se déplace d'un caractère vers la droite. |
| PagePréc | Fait défiler la page (de la fenêtre d'affichage) d'une page vers le haut. |
| PageDown | Fait défiler d'une page (de la fenêtre d'affichage) vers le bas. |
| Début | Permet d’accéder au début du texte. |
| Fin | Se place à la fin du texte. |
| Alt + molette | Fait défiler la page horizontalement (la molette désigne la molette de la souris). |
| Ctrl + molette | Permet de zoomer sur le texte. |
| Ctrl+A | Sélectionne tout le texte. |
Utilisation de QPlainTextEdit comme éditeur
Toutes les informations concernant l'utilisation de QPlainTextEdit en tant que widget d'affichage s'appliquent également ici.
La sélection de texte est gérée par la classe ` QTextCursor `, qui fournit des fonctionnalités permettant de créer des sélections, de récupérer le contenu textuel ou de supprimer des sélections. Vous pouvez récupérer l’objet correspondant au curseur visible par l’utilisateur à l’aide de la méthode ` textCursor()`. Si vous souhaitez définir une sélection dans QPlainTextEdit, il suffit d’en créer une sur un objet ` QTextCursor `, puis de faire de ce curseur le curseur visible à l’aide de ` setCursor()`. La sélection peut être copiée dans le presse-papiers avec ` copy()`, ou coupée dans le presse-papiers avec ` cut()`. L’intégralité du texte peut être sélectionnée à l’aide de ` selectAll()`.
QPlainTextEdit contient un objet « QTextDocument » qui peut être récupéré à l’aide de la méthode document(). Vous pouvez également définir votre propre objet document à l’aide de setDocument(). QTextDocument émet un signal textChanged() si le texte change et fournit également une fonction isModified() qui renvoie true si le texte a été modifié depuis son chargement ou depuis le dernier appel à setModified avec false comme argument. De plus, il fournit des méthodes pour annuler et rétablir.
Mise en évidence de la syntaxe
Tout comme QTextEdit, QPlainTextEdit fonctionne en association avec QSyntaxHighlighter.
Raccourcis clavier d'édition
Liste des raccourcis clavier implémentés pour l'édition :
| Appuis sur les touches | Action |
|---|---|
| Retour arrière | Supprime le caractère situé à gauche du curseur. |
| Suppr | Supprime le caractère situé à droite du curseur. |
| Ctrl+C | Copie le texte sélectionné dans le presse-papiers. |
| Ctrl+Insert | Copie le texte sélectionné dans le presse-papiers. |
| Ctrl+K | Supprime jusqu'à la fin de la ligne. |
| Ctrl+V | Colle le texte du presse-papiers dans l'éditeur de texte. |
| Maj+Insert | Colle le texte du presse-papiers dans l'éditeur de texte. |
| Ctrl+X | Supprime le texte sélectionné et le copie dans le presse-papiers. |
| Maj+Suppr | Supprime le texte sélectionné et le copie dans le presse-papiers. |
| Ctrl+Z | Annule la dernière opération. |
| Ctrl+Y | Rétablit la dernière opération. |
| Flèche gauche | Déplace le curseur d'un caractère vers la gauche. |
| Ctrl+Flèche gauche | Déplace le curseur d'un mot vers la gauche. |
| Flèche droite | Déplace le curseur d'un caractère vers la droite. |
| Ctrl + Flèche droite | Déplace le curseur d'un mot vers la droite. |
| Flèche vers le haut | Déplace le curseur d'une ligne vers le haut. |
| Ctrl + Flèche vers le haut | Déplace le curseur d'un mot vers le haut. |
| Flèche vers le bas | Déplace le curseur d'une ligne vers le bas. |
| Ctrl + Flèche vers le bas | Déplace le curseur d'un mot vers le bas. |
| PagePréc | Déplace le curseur d'une page vers le haut. |
| Page suivante | Déplace le curseur d'une page vers le bas. |
| Début | Place le curseur au début de la ligne. |
| Ctrl+Début | Place le curseur au début du texte. |
| Fin | Place le curseur à la fin de la ligne. |
| Ctrl+Fin | Place le curseur à la fin du texte. |
| Alt+Molette | Fait défiler la page horizontalement (la molette correspond à la molette de la souris). |
| Ctrl + molette | Permet de zoomer sur le texte. |
Pour sélectionner (marquer) du texte, maintenez la touche Maj enfoncée tout en appuyant sur l'une des touches de déplacement. Par exemple, Maj + Flèche droite sélectionnera le caractère situé à droite, et Maj + Ctrl + Flèche droite sélectionnera le mot situé à droite, etc.
Différences par rapport à QTextEdit
QPlainTextEdit est une classe légère, implémentée en utilisant la plupart des technologies qui sous-tendent QTextEdit et QTextDocument. Ses avantages en termes de performances par rapport à QTextEdit proviennent principalement de l'utilisation d'une mise en page du texte différente et simplifiée, appelée « QPlainTextDocumentLayout » (voir QTextDocument::setDocumentLayout()). La mise en page du document en texte brut ne prend pas en charge les tableaux ni les cadres intégrés, et remplace le calcul de la hauteur au pixel près par un défilement ligne par ligne ou paragraphe par paragraphe. Cela permet de gérer des documents nettement plus volumineux, tout en redimensionnant l’éditeur en temps réel avec le retour à la ligne activé. Cela permet également de disposer d’une visionneuse de journaux rapide (voir setMaximumBlockCount()).
{Exemple de surlignage de syntaxe}, {Traitement de texte enrichi}
Voir également QTextDocument et QTextCursor.
Documentation sur les types de membres
enum QPlainTextEdit::LineWrapMode
| Constante | Valeur |
|---|---|
QPlainTextEdit::NoWrap | 0 |
QPlainTextEdit::WidgetWidth | 1 |
Documentation sur les propriétés
backgroundVisible : bool
Cette propriété détermine si l'arrière-plan de la palette est visible en dehors de la zone du document
Si cette propriété est définie sur « true », la zone d'édition de texte brut affiche l'arrière-plan de la palette dans la zone de la fenêtre d'affichage non recouverte par le document. Dans le cas contraire, si elle est définie sur « false », ce n'est pas le cas. Cette fonctionnalité permet à l'utilisateur de distinguer visuellement la zone du document, affichée dans la couleur de base de la palette, de la zone vide non recouverte par le document.
La valeur par défaut est « false ».
Fonctions d'accès :
| bool | backgroundVisible() const |
| void | setBackgroundVisible(bool visible) |
[read-only] blockCount : int
Cette propriété indique le nombre de blocs de texte présents dans le document.
Par défaut, dans un document vide, cette propriété a la valeur 1.
Fonctions d'accès :
| int | blockCount() const |
centerOnScroll : bool
Cette propriété détermine si le curseur doit être centré à l'écran
Si cette propriété est définie sur « true », la zone d’édition de texte brut fait défiler le document verticalement afin que le curseur soit visible au centre de la fenêtre d’affichage. Cela permet également à la zone d’édition de texte de faire défiler le contenu au-delà de la fin du document. À l’inverse, si cette propriété est définie sur « false », la zone d’édition de texte brut effectue le défilement le plus court possible pour garantir que le curseur reste visible. Le même algorithme est appliqué à toute nouvelle ligne ajoutée via la méthode ` appendPlainText()`.
La valeur par défaut est « false ».
Fonctions d'accès :
| bool | centerOnScroll() const |
| void | setCenterOnScroll(bool enabled) |
Voir également ` centerCursor()` et ` ensureCursorVisible()`.
cursorWidth : int
Cette propriété définit la largeur du curseur en pixels. La valeur par défaut est 1.
Fonctions d'accès :
| int | cursorWidth() const |
| void | setCursorWidth(int width) |
documentTitle : QString
Cette propriété contient le titre du document extrait du texte.
Par défaut, cette propriété contient une chaîne vide.
Fonctions d'accès :
| QString | documentTitle() const |
| void | setDocumentTitle(const QString &title) |
lineWrapMode : LineWrapMode
Cette propriété définit le mode de retour à la ligne
Le mode par défaut est « WidgetWidth », qui provoque le retour à la ligne au bord droit de la zone d'édition de texte. Le retour à la ligne s'effectue au niveau des espaces, en conservant les mots entiers. Si vous souhaitez que le retour à la ligne s'effectue au sein des mots, utilisez « setWordWrapMode » ().
Fonctions d'accès :
| QPlainTextEdit::LineWrapMode | lineWrapMode() const |
| void | setLineWrapMode(QPlainTextEdit::LineWrapMode mode) |
maximumBlockCount : int
Cette propriété définit la limite du nombre de blocs dans le document.
Elle spécifie le nombre maximal de blocs que le document peut contenir. Si le document contient plus de blocs que le nombre spécifié par cette propriété, les blocs en excès sont supprimés au début du document.
Une valeur négative ou nulle indique que le document peut contenir un nombre illimité de blocs.
La valeur par défaut est 0.
Notez que la définition de cette propriété applique immédiatement la limite au contenu du document. La définition de cette propriété désactive également l'historique des actions « Annuler » et « Rétablir ».
Fonctions d'accès :
| int | maximumBlockCount() const |
| void | setMaximumBlockCount(int maximum) |
overwriteMode : bool
Cette propriété détermine si le texte saisi par l'utilisateur écrasera le texte existant
Comme dans de nombreux éditeurs de texte, le widget d'éditeur de texte brut peut être configuré pour insérer ou remplacer le texte existant par le nouveau texte saisi par l'utilisateur.
Si cette propriété est définie sur « true », le texte existant est écrasé, caractère par caractère, par le nouveau texte ; dans le cas contraire, le texte est inséré à la position du curseur, déplaçant ainsi le texte existant.
Par défaut, cette propriété est définie sur « false » (le nouveau texte ne remplace pas le texte existant).
Fonctions d’accès :
| bool | overwriteMode() const |
| void | setOverwriteMode(bool overwrite) |
placeholderText : QString
Cette propriété contient le texte de remplacement de l'éditeur
La définition de cette propriété fait en sorte que l'éditeur affiche un texte de remplacement grisé tant que la méthode ` document()` est vide.
Par défaut, cette propriété contient une chaîne vide.
Fonctions d'accès :
| QString | placeholderText() const |
| void | setPlaceholderText(const QString &placeholderText) |
Voir également document().
plainText : QString
Cette propriété permet d'obtenir et de définir le contenu de l'éditeur de texte brut. Le contenu précédent est supprimé et l'historique des actions « Annuler »/« Rétablir » est réinitialisé lorsque cette propriété est définie. La méthode ` currentCharFormat()` est également réinitialisée, sauf si la méthode ` textCursor()` se trouve déjà au début du document.
Par défaut, pour un éditeur sans contenu, cette propriété contient une chaîne vide.
Fonctions d'accès :
| QString | toPlainText() const |
| void | setPlainText(const QString &text) |
Signal de notification :
| void | textChanged() |
readOnly : bool
Cette propriété s'applique que la zone de texte soit en lecture seule ou non
Dans un champ de saisie en lecture seule, l'utilisateur peut uniquement se déplacer dans le texte et sélectionner du texte ; il n'est pas possible de modifier le texte.
La valeur par défaut de cette propriété est « false ».
Fonctions d'accès :
| bool | isReadOnly() const |
| void | setReadOnly(bool ro) |
tabChangesFocus : bool
Cette propriété s'applique que la touche « Tab » change de focus ou que sa pression soit acceptée comme entrée
Dans certains cas, les champs de saisie 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 ».
Fonctions d’accès :
| bool | tabChangesFocus() const |
| void | setTabChangesFocus(bool b) |
tabStopDistance : qreal
Cette propriété définit la distance des taquets de tabulation en pixels
Par défaut, cette propriété a une valeur de 80 pixels.
Ne définissez pas une valeur inférieure à la valeur de la fonction ` horizontalAdvance()` du caractère ` QChar::VisualTabCharacter `, sinon le caractère de tabulation ne s'affichera pas correctement.
Fonctions d'accès :
| qreal | tabStopDistance() const |
| void | setTabStopDistance(qreal distance) |
Voir également QTextOption::ShowTabsAndSpaces et QTextDocument::defaultTextOption.
textInteractionFlags : Qt::TextInteractionFlags
Spécifie comment l'étiquette doit interagir avec les saisies de l'utilisateur si elle affiche du texte.
Si les indicateurs contiennent soit « Qt::LinksAccessibleByKeyboard », soit « Qt::TextSelectableByKeyboard », la politique de focus est également définie automatiquement sur « Qt::ClickFocus ».
La valeur par défaut dépend du fait que l'QPlainTextEdit soit en lecture seule ou modifiable.
Fonctions d’accès :
| Qt::TextInteractionFlags | textInteractionFlags() const |
| void | setTextInteractionFlags(Qt::TextInteractionFlags flags) |
undoRedoEnabled : bool
Cette propriété indique si les fonctions « Annuler » et « Rétablir » sont activées
Les utilisateurs ne peuvent annuler ou rétablir des actions que si cette propriété est définie sur « true » et s'il existe une action pouvant être annulée (ou rétablie).
Par défaut, cette propriété est définie sur « true ».
Fonctions d'accès :
| bool | isUndoRedoEnabled() const |
| void | setUndoRedoEnabled(bool enable) |
wordWrapMode : QTextOption::WrapMode
Cette propriété définit le mode utilisé par « QPlainTextEdit » pour le retour à la ligne par mot.
Par défaut, cette propriété est définie sur « QTextOption::WrapAtWordBoundaryOrAnywhere ».
Fonctions d’accès :
| QTextOption::WrapMode | wordWrapMode() const |
| void | setWordWrapMode(QTextOption::WrapMode policy) |
Voir également QTextOption::WrapMode.
Documentation sur les fonctions membres
[explicit] QPlainTextEdit::QPlainTextEdit(QWidget *parent = nullptr)
Crée un objet QPlainTextEdit vide dont le parent est parent.
[explicit] QPlainTextEdit::QPlainTextEdit(const QString &text, QWidget *parent = nullptr)
Crée un objet `QPlainTextEdit` dont le parent est ` parent`. La zone d'édition affichera le texte brut ` text`.
[virtual noexcept] QPlainTextEdit::~QPlainTextEdit()
Destructeur.
QString QPlainTextEdit::anchorAt(const QPoint &pos) const
Renvoie la référence de l'ancrage situé à la position pos, ou une chaîne vide si aucun ancrage n'existe à cet endroit.
[slot] void QPlainTextEdit::appendHtml(const QString &html)
Ajoute un nouveau paragraphe contenant « html » à la fin du texte en cours d'édition.
[slot] void QPlainTextEdit::appendPlainText(const QString &text)
Ajoute un nouveau paragraphe contenant « text » à la fin du texte modifié.
Voir aussi appendHtml().
[protected] QRectF QPlainTextEdit::blockBoundingGeometry(const QTextBlock &block) const
Renvoie le rectangle englobant du texte block en coordonnées de contenu. Translatez le rectangle à l'aide de la fonction contentOffset() pour obtenir les coordonnées visuelles dans la fenêtre d'affichage.
Voir également firstVisibleBlock() et blockBoundingRect().
[protected] QRectF QPlainTextEdit::blockBoundingRect(const QTextBlock &block) const
Renvoie le rectangle englobant du texte block dans les coordonnées propres au bloc.
Voir aussi blockBoundingGeometry().
[signal] void QPlainTextEdit::blockCountChanged(int newBlockCount)
Ce signal est émis chaque fois que le nombre de blocs change. Le nouveau nombre de blocs est transmis dans ` newBlockCount`.
[virtual protected] bool QPlainTextEdit::canInsertFromMimeData(const QMimeData *source) const
Cette fonction renvoie ` true ` si le contenu de l’objet de données MIME, spécifié par ` source`, peut être décodé et inséré dans le document. Elle est appelée, par exemple, lorsqu’au cours d’une opération de glisser-déposer, la souris entre dans ce widget et qu’il est nécessaire de déterminer s’il est possible d’accepter le glisser-déposer.
bool QPlainTextEdit::canPaste() const
Indique si du texte peut être collé depuis le presse-papiers dans la zone de saisie.
[slot] void QPlainTextEdit::centerCursor()
Fait défiler le document afin de centrer le curseur verticalement.
Voir également ensureCursorVisible() et centerOnScroll.
[override virtual protected] void QPlainTextEdit::changeEvent(QEvent *e)
Réimplémente : QFrame::changeEvent(QEvent *ev).
[slot] void QPlainTextEdit::clear()
Supprime tout le texte contenu dans la zone d'édition.
Remarques :
- L'historique des annulations et des reprises est également effacé.
- currentCharFormat() est réinitialisé, sauf si textCursor() se trouve déjà au début du document.
Voir également cut() et setPlainText().
[protected] QPointF QPlainTextEdit::contentOffset() const
Renvoie l'origine du contenu en coordonnées de la fenêtre d'affichage.
L'origine du contenu d'un champ d'édition de texte brut correspond toujours au coin supérieur gauche du premier bloc de texte visible. Le décalage du contenu est différent de (0,0) lorsque le texte a été défilé horizontalement, ou lorsque le premier bloc visible a été partiellement déplacé hors de l'écran, c'est-à-dire que le texte visible ne commence pas par la première ligne du premier bloc visible, ou encore lorsque le premier bloc visible est le tout premier bloc et que l'éditeur affiche une marge.
Voir également firstVisibleBlock(), horizontalScrollBar() et verticalScrollBar().
[override virtual protected] void QPlainTextEdit::contextMenuEvent(QContextMenuEvent *event)
Réimplémente : QAbstractScrollArea::contextMenuEvent(QContextMenuEvent *e).
Affiche le menu contextuel standard créé avec createStandardContextMenu().
Si vous ne souhaitez pas que le champ de saisie de texte dispose d’un menu contextuel, vous pouvez définir son contextMenuPolicy sur Qt::NoContextMenu. Si vous souhaitez personnaliser le menu contextuel, réimplémentez cette fonction. Si vous souhaitez étendre le menu contextuel standard, réimplémentez cette fonction, appelez createStandardContextMenu() et étendez le menu renvoyé.
Les informations relatives à l'événement sont transmises via l'objet ` event `.
void MyQPlainTextEdit::contextMenuEvent(QContextMenuEvent *event)
{
QMenu *menu = createStandardContextMenu();
menu->addAction(tr("My Menu Item"));
//...
menu->exec(event->globalPos());
delete menu;
}[slot] void QPlainTextEdit::copy()
Copie le texte sélectionné dans le presse-papiers.
Voir aussi copyAvailable().
[signal] void QPlainTextEdit::copyAvailable(bool yes)
Ce signal est émis lorsqu'un texte est sélectionné ou désélectionné dans la zone d'édition de texte.
Lorsqu'une sélection de texte est effectuée, ce signal est émis avec la propriété « yes » définie sur « true ». Si aucun texte n'a été sélectionné ou si la sélection est désélectionnée, ce signal est émis avec la propriété « yes » définie sur « false ».
Si ` yes ` est vrai, alors ` copy()` peut être utilisé pour copier la sélection dans le presse-papiers. Si ` yes ` est faux, alors ` copy()` ne fait rien.
Voir également selectionChanged().
[virtual protected] QMimeData *QPlainTextEdit::createMimeDataFromSelection() const
Cette fonction renvoie un nouvel objet de données MIME représentant le contenu de la sélection actuelle de la zone d’édition de texte. Elle est appelée lorsque la sélection doit être encapsulée dans un nouvel objet ` QMimeData ` ; par exemple, lorsqu’une opération de glisser-déposer est lancée, ou lorsque des données sont copiées dans le presse-papiers.
Si vous réimplémentez cette fonction, notez que la propriété de l'objet ` QMimeData ` renvoyé est transférée à l'appelant. La sélection peut être récupérée à l'aide de la fonction ` textCursor()`.
QMenu *QPlainTextEdit::createStandardContextMenu()
Cette fonction crée le menu contextuel standard qui s'affiche lorsque l'utilisateur clique avec le bouton droit de la souris sur le champ de saisie de texte. Elle est appelée depuis le gestionnaire par défaut ` contextMenuEvent()`. La propriété du menu contextuel est transférée à l'appelant.
Nous vous recommandons d’utiliser plutôt la version createStandardContextMenu(QPoint), qui activera les actions dépendant de l’emplacement où l’utilisateur a cliqué.
QMenu *QPlainTextEdit::createStandardContextMenu(const QPoint &position)
Cette fonction crée le menu contextuel standard qui s'affiche lorsque l'utilisateur clique avec le bouton droit de la souris sur la zone d'édition de texte. Elle est appelée depuis le gestionnaire par défaut contextMenuEvent() et reçoit l'position, exprimée en coordonnées du document, de l'emplacement où la souris a cliqué. Cela permet d'activer des actions qui dépendent de la position où l'utilisateur a cliqué. La propriété du menu contextuel est transférée à l'appelant.
QTextCharFormat QPlainTextEdit::currentCharFormat() const
Renvoie le format de caractères utilisé lors de l'insertion de nouveau texte.
Voir aussi setCurrentCharFormat().
QTextCursor QPlainTextEdit::cursorForPosition(const QPoint &pos) const
renvoie un objet de type « QTextCursor » à la position pos (en coordonnées de la fenêtre d'affichage).
[signal] void QPlainTextEdit::cursorPositionChanged()
Ce signal est émis chaque fois que la position du curseur change.
QRect QPlainTextEdit::cursorRect() const
renvoie un rectangle (en coordonnées de la fenêtre d'affichage) qui englobe le curseur de la zone d'édition de texte.
QRect QPlainTextEdit::cursorRect(const QTextCursor &cursor) const
renvoie un rectangle (en coordonnées de la fenêtre d'affichage) qui englobe l'cursor.
[slot] void QPlainTextEdit::cut()
Copie le texte sélectionné dans le presse-papiers et le supprime de la zone d'édition.
S'il n'y a pas de texte sélectionné, rien ne se passe.
Voir également copy() et paste().
QTextDocument *QPlainTextEdit::document() const
Renvoie un pointeur vers le document sous-jacent.
Voir aussi setDocument().
[override virtual protected] void QPlainTextEdit::dragEnterEvent(QDragEnterEvent *e)
Réimplémente : QAbstractScrollArea::dragEnterEvent(QDragEnterEvent *event).
[override virtual protected] void QPlainTextEdit::dragLeaveEvent(QDragLeaveEvent *e)
Réimplémente : QAbstractScrollArea::dragLeaveEvent(QDragLeaveEvent *event).
[override virtual protected] void QPlainTextEdit::dragMoveEvent(QDragMoveEvent *e)
Réimplémente : QAbstractScrollArea::dragMoveEvent(QDragMoveEvent *event).
[override virtual protected] void QPlainTextEdit::dropEvent(QDropEvent *e)
Réimplémente : QAbstractScrollArea::dropEvent(QDropEvent *event).
void QPlainTextEdit::ensureCursorVisible()
S'assure que le curseur est visible en faisant défiler la zone d'édition de texte si nécessaire.
Voir également centerCursor() et centerOnScroll.
QList<QTextEdit::ExtraSelection> QPlainTextEdit::extraSelections() const
Renvoie les sélections supplémentaires précédemment définies.
Voir aussi setExtraSelections().
bool QPlainTextEdit::find(const QString &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())
Recherche l'occurrence suivante de la chaîne « exp » à l'aide de l'options fournie. Renvoie « true » si « exp » a été trouvé et positionne le curseur sur l'occurrence correspondante ; sinon, renvoie « false ».
bool QPlainTextEdit::find(const QRegularExpression &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())
Recherche l'occurrence suivante correspondant à l'expression régulière exp, en utilisant l'options fournie.
Renvoie true si une correspondance a été trouvée et place le curseur sur celle-ci ; sinon, renvoie false.
Avertissement : pour des raisons historiques, l’option de sensibilité à la casse définie sur exp est ignorée. À la place, l’ options est utilisé pour déterminer si la recherche tient compte de la casse ou non.
Il s’agit d’une fonction surchargée.
[protected] QTextBlock QPlainTextEdit::firstVisibleBlock() const
Renvoie le premier bloc visible.
Voir également blockBoundingRect().
[override virtual protected] void QPlainTextEdit::focusInEvent(QFocusEvent *e)
Réimplémente : QWidget::focusInEvent(QFocusEvent *event).
[override virtual protected] bool QPlainTextEdit::focusNextPrevChild(bool next)
Réimplémente : QWidget::focusNextPrevChild(bool next).
[override virtual protected] void QPlainTextEdit::focusOutEvent(QFocusEvent *e)
Réimplémente : QWidget::focusOutEvent(QFocusEvent *event).
[protected] QAbstractTextDocumentLayout::PaintContext QPlainTextEdit::getPaintContext() const
Renvoie le contexte de dessin de la fonction ` viewport()`, ce qui n'est utile que lors de la réimplémentation de la fonction ` paintEvent()`.
[override virtual protected] void QPlainTextEdit::inputMethodEvent(QInputMethodEvent *e)
Réimplémente : QWidget::inputMethodEvent(QInputMethodEvent *event).
[override virtual] QVariant QPlainTextEdit::inputMethodQuery(Qt::InputMethodQuery property) const
Réimplémente : ` QWidget::inputMethodQuery` (requête `Qt::InputMethodQuery`) const.
[virtual protected] void QPlainTextEdit::insertFromMimeData(const QMimeData *source)
Cette fonction insère le contenu de l'objet de données MIME, spécifié par ` source`, dans la zone d'édition de texte à la position actuelle du curseur. Elle est appelée chaque fois qu'un texte est inséré à la suite d'une opération de collage à partir du presse-papiers, ou lorsque la zone d'édition de texte accepte des données issues d'une opération de glisser-déposer.
[slot] void QPlainTextEdit::insertPlainText(const QString &text)
Fonction pratique permettant d’insérer « text » à la position actuelle du curseur.
Cela équivaut à
edit->textCursor().insertText(text);[override virtual protected] void QPlainTextEdit::keyPressEvent(QKeyEvent *e)
Réimplémente : QAbstractScrollArea::keyPressEvent(QKeyEvent *e).
[override virtual protected] void QPlainTextEdit::keyReleaseEvent(QKeyEvent *e)
Réimplémente : QWidget::keyReleaseEvent(QKeyEvent *event).
[virtual] QVariant QPlainTextEdit::loadResource(int type, const QUrl &name)
Charge la ressource spécifiée par les paramètres type et name fournis.
Cette fonction est une extension de QTextDocument::loadResource().
Voir également QTextDocument::loadResource().
void QPlainTextEdit::mergeCurrentCharFormat(const QTextCharFormat &modifier)
Intègre les propriétés spécifiées dans ` modifier ` au format de caractère actuel en appelant ` QTextCursor::mergeCharFormat ` sur le curseur de l'éditeur. Si l'éditeur comporte une sélection, les propriétés de ` modifier ` sont directement appliquées à cette sélection.
Voir également QTextCursor::mergeCharFormat().
[signal] void QPlainTextEdit::modificationChanged(bool changed)
Ce signal est émis chaque fois que le contenu du document subit une modification qui affecte son état de modification. Si la valeur de ` changed ` est `true`, cela signifie que le document a été modifié ; dans le cas contraire, elle est `false`.
Par exemple, appeler la méthode `setModified(false)` sur un document puis y insérer du texte provoque l'émission du signal. Si vous annulez cette opération, ramenant ainsi le document à son état d'origine non modifié, le signal sera à nouveau émis.
[override virtual protected] void QPlainTextEdit::mouseDoubleClickEvent(QMouseEvent *e)
Réimplémente : QAbstractScrollArea::mouseDoubleClickEvent(QMouseEvent *e).
[override virtual protected] void QPlainTextEdit::mouseMoveEvent(QMouseEvent *e)
Réimplémente : QAbstractScrollArea::mouseMoveEvent(QMouseEvent *e).
[override virtual protected] void QPlainTextEdit::mousePressEvent(QMouseEvent *e)
Réimplémente : QAbstractScrollArea::mousePressEvent(QMouseEvent *e).
[override virtual protected] void QPlainTextEdit::mouseReleaseEvent(QMouseEvent *e)
Réimplémente : QAbstractScrollArea::mouseReleaseEvent(QMouseEvent *e).
void QPlainTextEdit::moveCursor(QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor)
Déplace le curseur en appliquant l’ operation on spécifiée.
Si ` mode ` est défini sur ` QTextCursor::KeepAnchor`, le curseur sélectionne le texte sur lequel il passe. Cela produit le même effet que lorsque l'utilisateur maintient la touche Maj enfoncée et déplace le curseur à l'aide des touches de navigation.
Voir également ` QTextCursor::movePosition()`.
[override virtual protected] void QPlainTextEdit::paintEvent(QPaintEvent *e)
Réimplémente : QAbstractScrollArea::paintEvent(QPaintEvent *event).
[slot] void QPlainTextEdit::paste()
Colle le texte du presse-papiers dans la zone d'édition à la position actuelle du curseur.
S'il n'y a pas de texte dans le presse-papiers, rien ne se passe.
Pour modifier le comportement de cette fonction, c'est-à-dire pour définir ce que QPlainTextEdit peut coller et comment cela est effectué, réimplémentez les fonctions virtuelles canInsertFromMimeData() et insertFromMimeData().
Voir également cut() et copy().
void QPlainTextEdit::print(QPagedPaintDevice *printer) const
Fonction pratique permettant d'imprimer le document de l'objet TextEdit sur l'printer spécifiée. Cela revient à appeler directement la méthode `print` sur le document, à la différence près que cette fonction prend également en charge `QPrinter::Selection` comme plage d'impression.
Voir également QTextDocument::print().
[slot] void QPlainTextEdit::redo()
Répète la dernière opération.
S'il n'y a aucune opération à refaire, c'est-à-dire s'il n'y a aucune étape de refonte dans l'historique des annulations/reprises, rien ne se passe.
Voir également undo().
[signal] void QPlainTextEdit::redoAvailable(bool available)
Ce signal est émis dès que les opérations de réexécution deviennent disponibles (la valeur de `available ` est vraie) ou indisponibles (la valeur de `available ` est fausse).
[override virtual protected] void QPlainTextEdit::resizeEvent(QResizeEvent *e)
Réimplémente : QAbstractScrollArea::resizeEvent(QResizeEvent *event).
[override virtual protected] void QPlainTextEdit::scrollContentsBy(int dx, int dy)
Réimplémente : QAbstractScrollArea::scrollContentsBy(int dx, int dy).
[slot] void QPlainTextEdit::selectAll()
Sélectionne tout le texte.
Voir également copy(), cut() et textCursor().
[signal] void QPlainTextEdit::selectionChanged()
Ce signal est émis chaque fois que la sélection change.
Voir également copyAvailable().
void QPlainTextEdit::setCurrentCharFormat(const QTextCharFormat &format)
Définit le format de caractères à utiliser lors de l'insertion de nouveau texte dans format en appelant la fonction QTextCursor::setCharFormat() sur le curseur de l'éditeur. Si l'éditeur comporte une sélection, le format de caractères est directement appliqué à cette sélection.
Voir également currentCharFormat().
void QPlainTextEdit::setDocument(QTextDocument *document)
Définit document comme nouveau document de l'éditeur de texte.
L'QObject parent du document fourni reste le propriétaire de l'objet. Si le document actuel est un enfant de l'éditeur de texte, il est alors supprimé.
Le document doit disposer d’une mise en page héritant de ` QPlainTextDocumentLayout ` (voir ` QTextDocument::setDocumentLayout()`).
Voir également document().
void QPlainTextEdit::setExtraSelections(const QList<QTextEdit::ExtraSelection> &selections)
Cette fonction permet de marquer temporairement certaines zones du document avec une couleur donnée, spécifiée par ` selections`. Cela peut s'avérer utile, par exemple, dans un éditeur de programmation pour surligner une ligne entière de texte avec une couleur d'arrière-plan donnée afin d'indiquer la présence d'un point d'arrêt.
Voir également ` QTextEdit::ExtraSelection ` et ` extraSelections()`.
[slot] void QPlainTextEdit::setPlainText(const QString &text)
Remplace le contenu du champ de saisie par la chaîne « text ». Tout texte précédent est supprimé.
text est interprété comme du texte brut.
Remarques :
- L'historique des annulations et des rétablissements est également effacé.
- currentCharFormat() est réinitialisé, sauf si textCursor() se trouve déjà au début du document.
Remarque : fonctionde définition de la propriété plainText.
Voir également toPlainText().
void QPlainTextEdit::setTextCursor(const QTextCursor &cursor)
Définit l'cursor visible.
Voir également textCursor().
[override virtual protected] void QPlainTextEdit::showEvent(QShowEvent *)
Réimplémente : QWidget::showEvent(QShowEvent *event).
[signal] void QPlainTextEdit::textChanged()
Ce signal est émis chaque fois que le contenu du document change ; par exemple, lorsque du texte est inséré ou supprimé, ou lorsqu'une mise en forme est appliquée.
Remarque : signalde notification pour la propriété plainText.
QTextCursor QPlainTextEdit::textCursor() const
Renvoie une copie de l'objet ` QTextCursor ` représentant le curseur actuellement visible. Notez que les modifications apportées au curseur renvoyé n'affectent pas le curseur de ` QPlainTextEdit` ; utilisez ` setTextCursor()` pour mettre à jour le curseur visible.
Voir également setTextCursor().
QString QPlainTextEdit::toPlainText() const
Renvoie le contenu du champ de saisie sous forme de texte brut.
Remarque : fonctiongetter pour la propriété plainText.
Voir aussi QPlainTextEdit::setPlainText().
[slot] void QPlainTextEdit::undo()
Annule la dernière opération.
S'il n'y a aucune opération à annuler, c'est-à-dire s'il n'y a aucune étape d'annulation dans l'historique des annulations et des rétablissements, rien ne se passe.
Voir également redo().
[signal] void QPlainTextEdit::undoAvailable(bool available)
Ce signal est émis dès que les opérations d'annulation deviennent disponibles (available est vrai) ou indisponibles (available est faux).
[signal] void QPlainTextEdit::updateRequest(const QRect &rect, int dy)
Ce signal est émis lorsque le document texte nécessite une mise à jour de l'rect spécifiée. Si le texte fait l'objet d'un défilement, rect couvre l'intégralité de la zone de la fenêtre d'affichage. Si le texte défile verticalement, dy contient le nombre de pixels sur lesquels la fenêtre d'affichage a défilé.
Ce signal a pour but de prendre en charge des widgets supplémentaires dans les sous-classes d’édition de texte brut qui, par exemple, affichent des numéros de ligne, des points d’arrêt ou d’autres informations complémentaires.
[override virtual protected] void QPlainTextEdit::wheelEvent(QWheelEvent *e)
Réimplémente : QAbstractScrollArea::wheelEvent(QWheelEvent *e).
[slot] void QPlainTextEdit::zoomIn(int range = 1)
Agrandit le texte en augmentant la taille de police de base de range points et en recalculant toutes les tailles de police en fonction de cette nouvelle taille. Cela ne modifie pas la taille des images.
Voir également zoomOut().
[slot] void QPlainTextEdit::zoomOut(int range = 1)
Réduit l'échelle du texte en diminuant la taille de police de base de range points et en recalculant toutes les tailles de police en fonction de cette nouvelle valeur. Cela ne modifie pas la taille des images.
Voir également zoomIn().
© 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.