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 |
- Liste de tous les membres, y compris les membres hérités
- QPlainTextEdit fait partie de Rich Text Processing APIs.
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 :
| Touches | Action |
|---|---|
| Qt::UpArrow | Déplacement d'une ligne vers le haut. |
| Qt::DownArrow | Déplacement d'une ligne vers le bas. |
| Qt::LeftArrow | Déplace un caractère vers la gauche. |
| Qt::RightArrow | Déplace un caractère vers la droite. |
| PageUp | Déplace une page (de la fenêtre) vers le haut. |
| PageDown | Déplace d'une page (de la fenêtre) vers le bas. |
| Début | Permet de revenir au début du texte. |
| Fin | Permet d'atteindre la fin du texte. |
| Alt+Molette | Fait défiler la page horizontalement (la roue est celle de la souris). |
| Ctrl+Molette | Permet d'effectuer un zoom sur le texte. |
| Ctrl+A | Sé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 touches | Action |
|---|---|
| Espace arrière | Supprime le caractère situé à gauche du curseur. |
| Suppression | Supprime le caractère à droite du curseur. |
| Ctrl+C | Copie le texte sélectionné dans le presse-papiers. |
| Ctrl+Insérer | 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'édition de texte. |
| Maj+Insérer | Colle le texte du presse-papiers dans l'édition de texte. |
| Ctrl+X | Supprime le texte sélectionné et le copie dans le presse-papiers. |
| Maj+Supprimer | Supprime le texte sélectionné et le copie dans le presse-papiers. |
| Ctrl+Z | Annule la dernière opération. |
| Ctrl+Y | Refait 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. |
| PageHaut | Déplace le curseur d'une page vers le haut. |
| PageDown | Déplace le curseur d'une page vers le bas. |
| Début | Déplace le curseur au début de la ligne. |
| Ctrl+Début | Déplace le curseur au début du texte. |
| Fin | Déplace le curseur à la fin de la ligne. |
| Ctrl+Fin | Déplace le curseur à la fin du texte. |
| Alt+Molette | Fait défiler la page horizontalement (la roue est celle de la souris). |
| Ctrl+Molette | Permet 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
| Constante | Valeur |
|---|---|
QPlainTextEdit::NoWrap | 0 |
QPlainTextEdit::WidgetWidth | 1 |
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.
[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.
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.