Sur cette page

QPlainTextEdit Class

La classe QPlainTextEdit fournit un widget utilisé pour éditer et afficher du texte brut. Plus d'informations...

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

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

Emplacements 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 saisies de l'utilisateur.

QPlainText utilise en grande partie la même technologie et les mêmes concepts que QTextEdit, mais il est optimisé pour le traitement du texte brut.

QPlainTextEdit travaille sur les paragraphes et les caractères. Un paragraphe est une chaîne formatée qui est enveloppée de mots pour tenir dans 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. Chaque caractère d'un paragraphe possède ses propres attributs, par exemple la police et la couleur.

La forme du curseur de la souris sur un QPlainTextEdit est Qt::IBeamCursor par défaut. Elle peut être modifiée à l'aide de la propriété curseur de 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, l'éditeur de texte entoure les mots d'espaces blancs pour les faire tenir dans le widget d'édition de texte. La fonction setLineWrapMode() permet de spécifier le type de retour à la ligne souhaité, WidgetWidth ou NoWrap si vous ne souhaitez pas de retour à la ligne. Si vous utilisez le retour à la ligne à la largeur du widget WidgetWidth, vous pouvez spécifier si le retour à la ligne doit se faire sur les espaces blancs ou n'importe où avec setWordWrapMode().

La fonction find() peut être utilisée pour rechercher et 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 une visionneuse efficace pour le texte du journal. Le défilement peut être réduit grâce à la propriété centerOnScroll(), ce qui rend la visionneuse encore plus rapide. Le texte peut être formaté de manière limitée, soit en utilisant un surligneur de syntaxe (voir ci-dessous), soit en ajoutant du texte formaté html avec appendHtml(). Bien que QPlainTextEdit ne prenne pas en charge le rendu complexe de texte riche avec des tableaux et des flottants, il prend en charge le formatage limité basé sur des paragraphes dont vous pourriez avoir besoin dans un visualiseur de journaux.

Liaisons de touches en lecture seule

Lorsque QPlainTextEdit est utilisé en lecture seule, les raccourcis clavier sont limités à la navigation et le texte ne peut être sélectionné qu'à l'aide de la souris :

TouchesAction
Qt::UpArrowDéplacement d'une ligne vers le haut.
Qt::DownArrowDéplacement d'une ligne vers le bas.
Qt::LeftArrowDéplace un caractère vers la gauche.
Qt::RightArrowDéplace un caractère vers la droite.
PageUpDéplace une page (de la fenêtre) vers le haut.
PageDownDéplace d'une page (de la fenêtre) vers le bas.
DébutPermet de revenir au début du texte.
FinPermet d'atteindre la fin du texte.
Alt+MoletteFait défiler la page horizontalement (la roue est celle de la souris).
Ctrl+MolettePermet d'effectuer un zoom sur le texte.
Ctrl+ASélectionne tout le texte.

Utilisation de QPlainTextEdit en tant qu'éditeur

Toutes les informations relatives à 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 permet de créer des sélections, de récupérer le contenu du texte 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 vous suffit d'en créer une sur un objet QTextCursor et de faire de ce curseur le curseur visible à l'aide de la méthode setCursor(). La sélection peut être copiée dans le presse-papiers avec copy(), ou coupée dans le presse-papiers avec cut(). Le texte entier peut être sélectionné à 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 en utilisant setDocument(). QTextDocument émet un signal textChanged() si le texte change et fournit également une fonction isModified() qui renvoie un message vrai si le texte a été modifié depuis son chargement ou depuis le dernier appel à setModified avec false comme argument. En outre, il fournit des méthodes pour annuler et refaire.

Mise en évidence de la syntaxe

Tout comme QTextEdit, QPlainTextEdit fonctionne avec QSyntaxHighlighter.

Édition des liaisons de touches

La liste des liaisons de touches qui sont implémentées pour l'édition :

Pressions sur les touchesAction
Espace arrièreSupprime le caractère situé à gauche du curseur.
SuppressionSupprime le caractère à droite du curseur.
Ctrl+CCopie le texte sélectionné dans le presse-papiers.
Ctrl+InsérerCopie le texte sélectionné dans le presse-papiers.
Ctrl+KSupprime jusqu'à la fin de la ligne.
Ctrl+VColle le texte du presse-papiers dans l'édition de texte.
Maj+InsérerColle le texte du presse-papiers dans l'édition de texte.
Ctrl+XSupprime le texte sélectionné et le copie dans le presse-papiers.
Maj+SupprimerSupprime le texte sélectionné et le copie dans le presse-papiers.
Ctrl+ZAnnule la dernière opération.
Ctrl+YRefait la dernière opération.
Flèche gaucheDéplace le curseur d'un caractère vers la gauche.
Ctrl+Flèche gaucheDéplace le curseur d'un mot vers la gauche.
Flèche droiteDéplace le curseur d'un caractère vers la droite.
Ctrl+Flèche droiteDéplace le curseur d'un mot vers la droite.
Flèche vers le hautDéplace le curseur d'une ligne vers le haut.
Ctrl+Flèche vers le hautDéplace le curseur d'un mot vers le haut.
Flèche vers le basDéplace le curseur d'une ligne vers le bas.
Ctrl+Flèche vers le basDéplace le curseur d'un mot vers le bas.
PageHautDéplace le curseur d'une page vers le haut.
PageDownDéplace le curseur d'une page vers le bas.
DébutDéplace le curseur au début de la ligne.
Ctrl+DébutDéplace le curseur au début du texte.
FinDéplace le curseur à la fin de la ligne.
Ctrl+FinDéplace le curseur à la fin du texte.
Alt+MoletteFait défiler la page horizontalement (la roue est celle de la souris).
Ctrl+MolettePermet d'effectuer un zoom sur le texte.

Pour sélectionner (marquer) du texte, maintenez la touche Shift enfoncée tout en appuyant sur l'une des touches de déplacement, par exemple, Shift+Flèche droite sélectionnera le caractère à droite, et Shift+Ctrl+Flèche droite sélectionnera le mot à droite, etc.

Différences avec QTextEdit

QPlainTextEdit est une classe légère, mise en œuvre en utilisant la majeure partie de la technologie qui se trouve derrière QTextEdit et QTextDocument. Ses avantages en termes de performances par rapport à QTextEdit proviennent principalement de l'utilisation d'une mise en page de texte différente et simplifiée appelée QPlainTextDocumentLayout sur le document texte (voir QTextDocument::setDocumentLayout()). La mise en page du document texte brut ne prend pas en charge les tableaux ni les cadres intégrés, et remplace le calcul exact de la hauteur au pixel près par une approche de défilement ligne par ligne ou paragraphe par paragraphe. Cela permet de gérer des documents beaucoup plus volumineux et de redimensionner l'éditeur avec le retour à la ligne activé en temps réel. Cela permet également d'obtenir une visionneuse de journaux rapide (voir setMaximumBlockCount()).

{Exemple de surligneur syntaxique}, {Traitement de texte enrichi}

Voir également QTextDocument et QTextCursor.

Documentation sur les types de membres

enum QPlainTextEdit::LineWrapMode

ConstanteValeur
QPlainTextEdit::NoWrap0
QPlainTextEdit::WidgetWidth1

Documentation sur les propriétés

backgroundVisible : bool

Cette propriété indique si l'arrière-plan de la palette est visible en dehors de la zone du document

Si cette propriété vaut true, l'édition de texte brut peint l'arrière-plan de la palette sur la zone de visualisation non couverte par le document texte. Dans le cas contraire, s'il vaut false, il ne le fera pas. Cette fonctionnalité permet à l'utilisateur de distinguer visuellement la zone du document, peinte avec la couleur de base de la palette, de la zone vide qui n'est couverte par aucun 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 dans le document.

Par défaut, dans un document vide, cette propriété contient une valeur de 1.

Fonctions d'accès :

int blockCount() const

centerOnScroll : bool

Cette propriété indique si le curseur doit être centré à l'écran

Si cette propriété vaut true, l'édition de texte simple fait défiler le document verticalement pour que le curseur soit visible au centre de la fenêtre de visualisation. Cela permet également à l'édition de texte de défiler en dessous de la fin du document. Dans le cas contraire, si la valeur est fixée à false, l'édition de texte en clair fait défiler le document le moins possible pour que le curseur soit visible. Le même algorithme est appliqué à toute nouvelle ligne ajoutée à l'aide de 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é spécifie 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 analysé à partir 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, ce qui signifie que les mots sont enveloppés sur le bord droit de l'édition de texte. Le retour à la ligne s'effectue au niveau des espaces blancs, en conservant les mots entiers intacts. Si vous souhaitez que le retour à la ligne se fasse à l'intérieur 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 des blocs dans le document.

Elle spécifie le nombre maximal de blocs que le document peut contenir. Si le nombre de blocs dans le document est supérieur à celui spécifié par cette propriété, les blocs 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é appliquera immédiatement la limite au contenu du document. La définition de cette propriété désactive également l'historique undo redo.

Fonctions d'accès :

int maximumBlockCount() const
void setMaximumBlockCount(int maximum)

overwriteMode : bool

Cette propriété indique si le texte saisi par l'utilisateur écrasera le texte existant

Comme de nombreux éditeurs de texte, le widget de l'é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é vaut true, le texte existant est écrasé, caractère par caractère, par le nouveau texte ; sinon, le texte est inséré à la position du curseur, déplaçant le texte existant.

Par défaut, cette propriété vaut false (le nouveau texte n'écrase pas le texte existant).

Fonctions d'accès :

bool overwriteMode() const
void setOverwriteMode(bool overwrite)

placeholderText : QString

Cette propriété contient le texte d'insertion de l'éditeur

La définition de cette propriété permet à l'éditeur d'afficher un texte d'insertion grisé tant que le 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 undo/redo est réinitialisé lorsque cette propriété est définie. currentCharFormat() est également réinitialisé, sauf si 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 du notificateur :

void textChanged()

readOnly : bool

Cette propriété indique si l'édition de texte est en lecture seule

Dans une édition de texte en lecture seule, l'utilisateur ne peut que naviguer dans le texte et le sélectionner ; 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é détermine si Tab change de focus ou est accepté comme entrée

Dans certains cas, l'édition de texte ne doit pas permettre à l'utilisateur de saisir des tabulateurs ou de modifier l'indentation à l'aide de la touche Tab, car cela rompt la chaîne de focalisation. La valeur par défaut est false.

Fonctions d'accès :

bool tabChangesFocus() const
void setTabChangesFocus(bool b)

tabStopDistance : qreal

Cette propriété indique la distance du taquet de tabulation en pixels

Par défaut, cette propriété contient une valeur de 80 pixels.

Ne pas fixer une valeur inférieure à horizontalAdvance() du caractère QChar::VisualTabCharacter, sinon le caractère tabulation sera dessiné de manière incomplète.

Fonctions d'accès :

qreal tabStopDistance() const
void setTabStopDistance(qreal distance)

Voir aussi QTextOption::ShowTabsAndSpaces et QTextDocument::defaultTextOption.

textInteractionFlags : Qt::TextInteractionFlags

Spécifie comment l'étiquette doit interagir avec la saisie de l'utilisateur si elle affiche du texte.

Si les drapeaux contiennent Qt::LinksAccessibleByKeyboard ou Qt::TextSelectableByKeyboard, la politique de focalisation est également automatiquement définie sur Qt::ClickFocus.

La valeur par défaut varie selon que le site QPlainTextEdit est 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 d'annulation et de rétablissement sont activées

Les utilisateurs ne peuvent annuler ou rétablir des actions que si cette propriété est vraie et si une action peut être annulée (ou rétablie).

Par défaut, cette propriété est 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 envelopper le texte par des mots

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)

Construit un QPlainTextEdit vide avec le parent parent.

[explicit] QPlainTextEdit::QPlainTextEdit(const QString &text, QWidget *parent = nullptr)

Construit un QPlainTextEdit avec le parent parent. L'éditeur de texte affichera le texte brut text.

[virtual noexcept] QPlainTextEdit::~QPlainTextEdit()

Destructeur.

QString QPlainTextEdit::anchorAt(const QPoint &pos) const

Renvoie la référence de l'ancre à la position pos, ou une chaîne vide si aucune ancre n'existe à cet endroit.

[slot] void QPlainTextEdit::appendHtml(const QString &html)

Ajoute un nouveau paragraphe avec html à la fin de l'édition de texte.

appendPlainText()

[slot] void QPlainTextEdit::appendPlainText(const QString &text)

Ajoute un nouveau paragraphe avec text à la fin de l'édition de texte.

Voir également appendHtml().

[protected] QRectF QPlainTextEdit::blockBoundingGeometry(const QTextBlock &block) const

Renvoie le rectangle de délimitation du texte block en coordonnées de contenu. Traduisez le rectangle avec contentOffset() pour obtenir des coordonnées visuelles sur la fenêtre d'affichage.

Voir aussi firstVisibleBlock() et blockBoundingRect().

[protected] QRectF QPlainTextEdit::blockBoundingRect(const QTextBlock &block) const

Renvoie le rectangle de délimitation du texte block dans les coordonnées du bloc.

Voir aussi blockBoundingGeometry().

[signal] void QPlainTextEdit::blockCountChanged(int newBlockCount)

Ce signal est émis lorsque le nombre de blocs change. Le nouveau nombre de blocs est transmis à 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 lorsque, au cours d'une opération de glissement, la souris entre dans ce widget et qu'il est nécessaire de déterminer s'il est possible d'accepter le glissement.

bool QPlainTextEdit::canPaste() const

Indique si le texte peut être collé depuis le presse-papiers dans la zone de texte.

[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 de l'édition de texte.

Notes :

  • L'historique annuler/refaire 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 dans les coordonnées de la fenêtre.

L'origine du contenu d'un texte simple est toujours le 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éplacé horizontalement, ou lorsque le premier bloc visible a été déplacé partiellement hors de l'écran, c'est-à-dire que le texte visible ne commence pas à la première ligne du premier bloc visible, ou 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 l'éditeur de texte dispose d'un menu contextuel, vous pouvez définir sa valeur 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 dans 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 lorsque du texte est sélectionné ou désélectionné dans l'édition de texte.

Lorsqu'un texte est sélectionné, ce signal est émis lorsque yes vaut true. Si aucun texte n'a été sélectionné ou si le texte sélectionné est désélectionné, ce signal est émis avec yes à false.

Si yes est vrai, copy() peut être utilisé pour copier la sélection dans le presse-papiers. Si yes est faux, copy() ne fait rien.

Voir aussi 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 l'éditeur 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 transmise à 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 sur le texte à éditer avec le bouton droit de la souris. Elle est appelée à partir du 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 sensibles à l'endroit 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 sur le texte à éditer avec le bouton droit de la souris. Elle est appelée à partir du gestionnaire par défaut contextMenuEvent() et prend l'adresse position dans les coordonnées du document où le clic de la souris a eu lieu. Cela permet d'effectuer des actions sensibles à l'endroit 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 d'un nouveau texte.

Voir aussi setCurrentCharFormat().

QTextCursor QPlainTextEdit::cursorForPosition(const QPoint &pos) const

renvoie une adresse QTextCursor à la position pos (en coordonnées de la fenêtre).

[signal] void QPlainTextEdit::cursorPositionChanged()

Ce signal est émis lorsque la position du curseur a changé.

QRect QPlainTextEdit::cursorRect() const

renvoie un rectangle (en coordonnées d'affichage) qui inclut le curseur de l'édition de texte.

QRect QPlainTextEdit::cursorRect(const QTextCursor &cursor) const

renvoie un rectangle (en coordonnées d'affichage) qui inclut le site cursor.

[slot] void QPlainTextEdit::cut()

Copie le texte sélectionné dans le presse-papiers et le supprime de l'édition de texte.

S'il n'y a pas de texte sélectionné, rien ne se passe.

Voir aussi copy() et paste().

QTextDocument *QPlainTextEdit::document() const

Renvoie un pointeur sur 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 l'é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())

Trouve la prochaine occurrence de la chaîne de caractères exp, en utilisant la chaîne de caractères options. Renvoie true si exp a été trouvé et change le curseur pour sélectionner la correspondance ; 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'adresse options.

Renvoie true si une correspondance a été trouvée et change le curseur pour sélectionner la correspondance ; sinon, renvoie false.

Attention : Pour des raisons historiques, l'option de sensibilité à la casse définie sur exp est ignorée. Au lieu de cela, options est utilisé pour déterminer si la recherche est sensible à la casse ou non.

Il s'agit d'une fonction surchargée.

[protected] QTextBlock QPlainTextEdit::firstVisibleBlock() const

Renvoie le premier bloc visible.

Voir aussi 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 peinture pour viewport(), utile uniquement lors de la réimplémentation de 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(Qt::InputMethodQuery query) 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 l'é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 dans le presse-papiers ou lorsque l'éditeur de texte accepte des données provenant d'une opération de glisser-déposer.

[slot] void QPlainTextEdit::insertPlainText(const QString &text)

Slot de commodité qui insère text à la position actuelle du curseur.

Il est équivalent à

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 données type et name.

Cette fonction est une extension de QTextDocument::loadResource().

Voir aussi QTextDocument::loadResource().

void QPlainTextEdit::mergeCurrentCharFormat(const QTextCharFormat &modifier)

Fusionne les propriétés spécifiées dans modifier dans le format de caractère actuel en appelant QTextCursor::mergeCharFormat sur le curseur de l'éditeur. Si l'éditeur a une sélection, les propriétés de modifier sont directement appliquées à la sélection.

Voir aussi QTextCursor::mergeCharFormat().

[signal] void QPlainTextEdit::modificationChanged(bool changed)

Ce signal est émis chaque fois que le contenu du document change d'une manière qui affecte l'état de modification. Si changed est vrai, le document a été modifié ; sinon, il est faux.

Par exemple, l'appel à setModified(false) sur un document et l'insertion d'un texte entraînent l'émission du signal. Si vous annulez cette opération, ce qui ramène le document à son état initial 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 exécutant la commande operation.

Si mode est QTextCursor::KeepAnchor, le curseur sélectionne le texte sur lequel il se déplace. Il s'agit du même effet que celui obtenu par l'utilisateur lorsqu'il maintient la touche Shift enfoncée et déplace le curseur à l'aide des touches du curseur.

Voir aussi 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 l'édition de texte à 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 modifier ce que QPlainTextEdit peut coller et comment il est collé, réimplémentez les fonctions virtuelles canInsertFromMimeData() et insertFromMimeData().

Voir également cut() et copy().

void QPlainTextEdit::print(QPagedPaintDevice *printer) const

Fonction de commodité pour imprimer le document de l'éditeur de texte à l'adresse printer. Cela équivaut à appeler directement la méthode d'impression sur le document, sauf que cette fonction prend également en charge QPrinter::Selection en tant que plage d'impression.

Voir aussi QTextDocument::print().

[slot] void QPlainTextEdit::redo()

Refait la dernière opération.

S'il n'y a pas d'opération à refaire, c'est-à-dire s'il n'y a pas d'étape à refaire dans l'historique undo/redo, rien ne se passe.

Voir également undo().

[signal] void QPlainTextEdit::redoAvailable(bool available)

Ce signal est émis lorsque les opérations de rétablissement deviennent disponibles (available est vrai) ou indisponibles (available est faux).

[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 aussi copy(), cut() et textCursor().

[signal] void QPlainTextEdit::selectionChanged()

Ce signal est émis lorsque 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 d'un nouveau texte à format en appelant QTextCursor::setCharFormat() sur le curseur de l'éditeur. Si l'éditeur dispose d'une sélection, le format de caractères est directement appliqué à la sélection.

Voir aussi currentCharFormat().

void QPlainTextEdit::setDocument(QTextDocument *document)

Fait de document le nouveau document de l'éditeur de texte.

Le parent QObject du document fourni reste le propriétaire de l'objet. Si le document actuel est un enfant de l'éditeur de texte, il est supprimé.

Le document doit avoir une mise en page qui hérite de QPlainTextDocumentLayout (voir QTextDocument::setDocumentLayout()).

Voir également document().

void QPlainTextEdit::setExtraSelections(const QList<QTextEdit::ExtraSelection> &selections)

Cette fonction permet de marquer temporairement certaines régions du document avec une couleur donnée, spécifiée sous selections. Cela peut être utile, par exemple, dans un éditeur de programmation pour marquer toute une ligne de texte avec une couleur de fond donnée afin d'indiquer l'existence d'un point d'arrêt.

Voir également QTextEdit::ExtraSelection et extraSelections().

[slot] void QPlainTextEdit::setPlainText(const QString &text)

Modifie le texte de l'édition de texte en le remplaçant par la chaîne text. Tout texte précédent est supprimé.

text est interprété comme du texte brut.

Remarques :

  • L'historique d'annulation et de rétablissement est également effacé.
  • currentCharFormat() est réinitialisé, sauf si textCursor() se trouve déjà au début du document.

Note : Fonction de définition de la propriété plainText.

Voir également toPlainText().

void QPlainTextEdit::setTextCursor(const QTextCursor &cursor)

Définit la valeur visible de cursor.

Voir aussi 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 est modifié, par exemple lorsque du texte est inséré ou supprimé, ou lorsque le formatage est appliqué.

Note : Signal de notification pour la propriété plainText.

QTextCursor QPlainTextEdit::textCursor() const

Renvoie une copie de QTextCursor qui représente le curseur actuellement visible. Notez que les modifications apportées au curseur retourné n'affectent pas le curseur de QPlainTextEdit; utilisez setTextCursor() pour mettre à jour le curseur visible.

Voir aussi setTextCursor().

QString QPlainTextEdit::toPlainText() const

Renvoie le texte de l'édition de texte sous forme de texte brut.

Remarque : fonction Getter pour la propriété plainText.

Voir aussi QPlainTextEdit::setPlainText().

[slot] void QPlainTextEdit::undo()

Annule la dernière opération.

S'il n'y a pas d'opération à annuler, c'est-à-dire s'il n'y a pas d'étape d'annulation dans l'historique d'annulation/de rétablissement, rien ne se produit.

Voir également redo().

[signal] void QPlainTextEdit::undoAvailable(bool available)

Ce signal est émis lorsque 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 a besoin d'une mise à jour de l'élément spécifié rect. Si le texte est déroulé, rect couvrira la totalité de la zone de visualisation. Si le texte est défilé verticalement, dy porte la quantité de pixels de la fenêtre de visualisation qui a été défilée.

L'objectif de ce signal est de prendre en charge des widgets supplémentaires dans les sous-classes d'édition de texte brut, qui affichent par exemple les numéros de ligne, les points d'arrêt ou d'autres informations supplémentaires.

[override virtual protected] void QPlainTextEdit::wheelEvent(QWheelEvent *e)

Réimplémente : QAbstractScrollArea::wheelEvent(QWheelEvent *e).

[slot] void QPlainTextEdit::zoomIn(int range = 1)

Effectue un zoom sur le texte en augmentant la taille de la police de base range points et en recalculant toutes les tailles de police pour qu'elles correspondent à la nouvelle taille. Cette opération ne modifie pas la taille des images.

Voir également zoomOut().

[slot] void QPlainTextEdit::zoomOut(int range = 1)

Effectue un zoom arrière sur le texte en réduisant la taille de la police de base range points et en recalculant toutes les tailles de police pour qu'elles correspondent à la nouvelle taille. 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.