QPlainTextEdit Class

Die Klasse QPlainTextEdit stellt ein Widget zur Verfügung, mit dem einfacher Text bearbeitet und angezeigt werden kann. Mehr...

Kopfzeile: #include <QPlainTextEdit>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Vererbt: QAbstractScrollArea

Öffentliche Typen

enum LineWrapMode { NoWrap, WidgetWidth }

Eigenschaften

Öffentliche Funktionen

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

Reimplementierte öffentliche Funktionen

virtual QVariant inputMethodQuery(Qt::InputMethodQuery property) const override

Öffentliche Slots

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)

Signale

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)

Geschützte Funktionen

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)

Reimplementierte geschützte Funktionen

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

Ausführliche Beschreibung

Einführung und Konzepte

QPlainTextEdit ist ein fortschrittlicher Betrachter/Editor, der einfachen Text unterstützt. Er ist optimiert, um große Dokumente zu bearbeiten und schnell auf Benutzereingaben zu reagieren.

QPlainText verwendet weitgehend die gleiche Technologie und die gleichen Konzepte wie QTextEdit, ist aber für die Bearbeitung von Klartext optimiert.

QPlainTextEdit arbeitet mit Absätzen und Zeichen. Ein Absatz ist eine formatierte Zeichenkette, die so umbrochen wird, dass sie in die Breite des Widgets passt. Standardmäßig bedeutet ein Zeilenumbruch beim Lesen von reinem Text einen Absatz. Ein Dokument besteht aus null oder mehr Absätzen. Absätze werden durch harte Zeilenumbrüche getrennt. Jedes Zeichen innerhalb eines Absatzes hat seine eigenen Attribute, z. B. Schriftart und Farbe.

Die Form des Mauszeigers in einem QPlainTextEdit ist standardmäßig Qt::IBeamCursor. Sie kann über die Cursor-Eigenschaft von viewport() geändert werden.

Verwendung von QPlainTextEdit als Anzeige-Widget

Der Text wird mit setPlainText() gesetzt oder ersetzt, wodurch der vorhandene Text gelöscht und durch den an setPlainText() übergebenen Text ersetzt wird.

Text kann mit der Klasse QTextCursor oder mit den Komfortfunktionen insertPlainText(), appendPlainText() oder paste() eingefügt werden.

Standardmäßig bricht die Texteingabe Wörter an Leerzeichen um, damit sie in das Texteingabe-Widget passen. Die Funktion setLineWrapMode() wird verwendet, um die Art des Zeilenumbruchs festzulegen, die Sie wünschen, WidgetWidth oder NoWrap, wenn Sie keinen Umbruch wünschen. Wenn Sie den Zeilenumbruch auf die Breite des Widgets WidgetWidth verwenden, können Sie mit setWordWrapMode() angeben, ob der Umbruch an Leerzeichen oder an einer beliebigen Stelle erfolgen soll.

Die Funktion find() kann verwendet werden, um eine bestimmte Zeichenkette innerhalb des Textes zu finden und auszuwählen.

Wenn Sie die Gesamtzahl der Absätze in einem QPlainTextEdit begrenzen wollen, wie es z.B. in einem Log-Viewer sinnvoll ist, können Sie die Eigenschaft maximumBlockCount verwenden. Die Kombination von setMaximumBlockCount() und appendPlainText() macht QPlainTextEdit zu einem effizienten Betrachter für Protokolltext. Das Scrollen kann mit der Eigenschaft centerOnScroll() reduziert werden, wodurch der Log-Viewer noch schneller wird. Text kann in begrenztem Umfang formatiert werden, entweder mit einem Syntax-Highlighter (siehe unten) oder durch Anhängen von html-formatiertem Text mit appendHtml(). Während QPlainTextEdit keine komplexe Rich-Text-Darstellung mit Tabellen und Floats unterstützt, unterstützt es begrenzte absatzbasierte Formatierung, die Sie in einem Log-Viewer benötigen könnten.

Nur-Lese-Schlüssel-Bindungen

Wenn QPlainTextEdit nur zum Lesen verwendet wird, sind die Tastenbelegungen auf die Navigation beschränkt und der Text kann nur mit der Maus ausgewählt werden:

TastendruckAktion
Qt::UpArrowBewegt sich eine Zeile nach oben.
Qt::DownArrowVerschiebt eine Zeile nach unten.
Qt::LeftArrowVerschiebt ein Zeichen nach links.
Qt::RightArrowVerschiebt ein Zeichen nach rechts.
Seite nach obenVerschiebt eine (Ansichtsfenster-)Seite nach oben.
SeiteRunterBewegt sich eine (Ansichtsfenster-)Seite nach unten.
StartseiteSpringt an den Anfang des Textes.
EndeBewegt sich zum Ende des Textes.
Alt+RadBlättert die Seite horizontal (das Rad ist das Mausrad).
Strg+RadZoomt den Text.
Strg+AWählt den gesamten Text aus.

Verwendung von QPlainTextEdit als Editor

Alle Informationen zur Verwendung von QPlainTextEdit als Anzeige-Widget gelten auch hier.

Die Auswahl von Text wird von der Klasse QTextCursor gehandhabt, die Funktionen zum Erstellen von Markierungen, Abrufen des Textinhalts oder Löschen von Markierungen bietet. Das Objekt, das dem für den Benutzer sichtbaren Cursor entspricht, können Sie mit der Methode textCursor() abrufen. Wenn Sie eine Auswahl in QPlainTextEdit setzen möchten, erstellen Sie einfach eine Auswahl auf einem QTextCursor Objekt und machen Sie dann diesen Cursor mit setCursor() zum sichtbaren Cursor. Die Auswahl kann mit copy() in die Zwischenablage kopiert oder mit cut() in die Zwischenablage ausgeschnitten werden. Der gesamte Text kann mit selectAll() ausgewählt werden.

QPlainTextEdit enthält ein QTextDocument Objekt, das mit der Methode document() abgerufen werden kann. Sie können auch Ihr eigenes Dokumentobjekt mit setDocument() setzen. QTextDocument gibt ein textChanged()-Signal aus, wenn sich der Text ändert, und bietet auch eine isModified()-Funktion, die true zurückgibt, wenn der Text entweder seit dem Laden oder seit dem letzten Aufruf von setModified mit false als Argument geändert wurde. Darüber hinaus bietet sie Methoden für Undo und Redo.

Syntax-Hervorhebung

Genau wie QTextEdit arbeitet auch QPlainTextEdit mit QSyntaxHighlighter zusammen.

Bearbeiten von Tastaturbelegungen

Die Liste der Tastenkombinationen, die für die Bearbeitung implementiert sind:

TastendruckeAktion
RücktasteLöscht das Zeichen links vom Cursor.
LöschenLöscht das Zeichen rechts vom Cursor.
Strg+CKopiert den ausgewählten Text in die Zwischenablage.
Strg+EinfügenKopiert den markierten Text in die Zwischenablage.
Strg+KLöscht bis zum Ende der Zeile.
Strg+VFügt den Text aus der Zwischenablage in die Textbearbeitung ein.
Umschalt+EinfügenFügt den Text aus der Zwischenablage in die Textverarbeitung ein.
Strg+XLöscht den ausgewählten Text und kopiert ihn in die Zwischenablage.
Umschalt+LöschenLöscht den markierten Text und kopiert ihn in die Zwischenablage.
Strg+ZMacht den letzten Vorgang rückgängig.
Strg+YWiederholt den letzten Vorgang.
Linker PfeilBewegt den Cursor um ein Zeichen nach links.
Strg+Pfeil linksBewegt den Cursor um ein Wort nach links.
RechtsPfeilBewegt den Cursor um ein Zeichen nach rechts.
Strg+RechtsPfeilBewegt den Cursor um ein Wort nach rechts.
AufwärtsPfeilBewegt den Cursor eine Zeile nach oben.
Strg+Pfeil nach obenBewegt den Cursor um ein Wort nach oben.
AbwärtspfeilBewegt den Cursor um eine Zeile nach unten.
Strg+Pfeil abwärtsBewegt den Cursor um ein Wort nach unten.
Seite nach obenBewegt den Cursor eine Seite nach oben.
SeiteAbBewegt den Cursor um eine Seite nach unten.
StartseiteSetzt den Cursor an den Anfang der Zeile.
Strg+HomeBewegt den Cursor an den Anfang des Textes.
EndeBewegt den Cursor an das Ende der Zeile.
Strg+EndeBewegt den Cursor an das Ende des Textes.
Alt+RadScrollt die Seite horizontal (das Rad ist das Mausrad).
Strg+RadZoomt den Text.

Um Text auszuwählen (zu markieren), halten Sie die Umschalttaste gedrückt, während Sie eine der Bewegungstasten drücken, z. B. Umschalt+Pfeil nach rechts wählt das Zeichen rechts aus, und Umschalt+Strg+Pfeil nach rechts wählt das Wort rechts aus, usw.

Unterschiede zu QTextEdit

QPlainTextEdit ist eine schlanke Klasse, die den größten Teil der Technologie hinter QTextEdit und QTextDocument verwendet. Die Leistungsvorteile gegenüber QTextEdit ergeben sich hauptsächlich aus der Verwendung eines anderen und vereinfachten Textlayouts namens QPlainTextDocumentLayout für das Textdokument (siehe QTextDocument::setDocumentLayout()). Das reine Textdokument-Layout unterstützt weder Tabellen noch eingebettete Rahmen und ersetzt eine pixelgenaue Höhenberechnung durch ein zeilen- bzw. absatzweises Scrollen. Dadurch ist es möglich, wesentlich größere Dokumente zu bearbeiten und die Größe des Editors bei aktiviertem Zeilenumbruch in Echtzeit zu ändern. Es ermöglicht auch einen schnellen Log-Viewer (siehe setMaximumBlockCount()).

{Syntax Highlighter Beispiel}, {Rich Text Processing}

Siehe auch QTextDocument und QTextCursor.

Member-Typ-Dokumentation

enum QPlainTextEdit::LineWrapMode

KonstanteWert
QPlainTextEdit::NoWrap0
QPlainTextEdit::WidgetWidth1

Eigenschaft Dokumentation

backgroundVisible : bool

Diese Eigenschaft bestimmt, ob der Palettenhintergrund außerhalb des Dokumentbereichs sichtbar ist

Wenn sie auf true gesetzt ist, wird der Palettenhintergrund in dem Bereich des Ansichtsfensters gezeichnet, der nicht vom Textdokument bedeckt ist. Andernfalls, wenn sie auf false gesetzt ist, wird er nicht gezeichnet. Diese Funktion ermöglicht es dem Benutzer, visuell zwischen dem mit der Grundfarbe der Palette gemalten Bereich des Dokuments und dem leeren Bereich, der nicht von einem Dokument bedeckt ist, zu unterscheiden.

Die Voreinstellung ist false.

Zugriffsfunktionen:

bool backgroundVisible() const
void setBackgroundVisible(bool visible)

[read-only] blockCount : const int

Diese Eigenschaft enthält die Anzahl der Textblöcke im Dokument.

In einem leeren Dokument enthält diese Eigenschaft standardmäßig den Wert 1.

Zugriffsfunktionen:

int blockCount() const

centerOnScroll : bool

Diese Eigenschaft legt fest, ob der Cursor auf dem Bildschirm zentriert werden soll.

Wenn sie auf true gesetzt ist, scrollt die Textbearbeitung das Dokument vertikal, um den Cursor in der Mitte des Ansichtsfensters sichtbar zu machen. Dadurch kann die Textbearbeitung auch unter das Ende des Dokuments scrollen. Andernfalls, wenn der Wert auf "false" gesetzt ist, scrollt die Textbearbeitung so wenig wie möglich, um sicherzustellen, dass der Cursor sichtbar ist. Der gleiche Algorithmus wird auf jede neue Zeile angewandt, die durch appendPlainText() angefügt wird.

Die Voreinstellung ist false.

Zugriffsfunktionen:

bool centerOnScroll() const
void setCenterOnScroll(bool enabled)

Siehe auch centerCursor() und ensureCursorVisible().

cursorWidth : int

Diese Eigenschaft gibt die Breite des Cursors in Pixeln an. Der Standardwert ist 1.

Zugriffsfunktionen:

int cursorWidth() const
void setCursorWidth(int width)

documentTitle : QString

Diese Eigenschaft enthält den Titel des Dokuments, der aus dem Text geparst wurde.

Standardmäßig enthält diese Eigenschaft eine leere Zeichenkette.

Zugriffsfunktionen:

QString documentTitle() const
void setDocumentTitle(const QString &title)

lineWrapMode : LineWrapMode

Diese Eigenschaft legt den Zeilenumbruchmodus fest

Der Standardmodus ist WidgetWidth, der bewirkt, dass Wörter am rechten Rand der Textbearbeitung umbrochen werden. Der Umbruch erfolgt an Leerzeichen, wobei ganze Wörter intakt bleiben. Wenn Sie möchten, dass der Umbruch innerhalb von Wörtern erfolgt, verwenden Sie setWordWrapMode().

Zugriffsfunktionen:

QPlainTextEdit::LineWrapMode lineWrapMode() const
void setLineWrapMode(QPlainTextEdit::LineWrapMode mode)

maximumBlockCount : int

Diese Eigenschaft enthält die Grenze für Blöcke im Dokument.

Sie gibt die maximale Anzahl von Blöcken an, die das Dokument haben darf. Enthält das Dokument mehr Blöcke als mit dieser Eigenschaft angegeben, werden die Blöcke am Anfang des Dokuments entfernt.

Ein negativer Wert oder Null gibt an, dass das Dokument eine unbegrenzte Anzahl von Blöcken enthalten darf.

Der Standardwert ist 0.

Beachten Sie, dass das Setzen dieser Eigenschaft die Begrenzung sofort auf den Inhalt des Dokuments anwendet. Das Setzen dieser Eigenschaft deaktiviert auch die Rückgängigmachungshistorie.

Zugriffsfunktionen:

int maximumBlockCount() const
void setMaximumBlockCount(int maximum)

overwriteMode : bool

Diese Eigenschaft legt fest, ob der vom Benutzer eingegebene Text den vorhandenen Text überschreibt

Wie bei vielen Texteditoren kann auch das Klartext-Editor-Widget so konfiguriert werden, dass vorhandener Text durch neuen, vom Benutzer eingegebenen Text eingefügt oder überschrieben wird.

Wenn diese Eigenschaft true lautet, wird der vorhandene Text Zeichen für Zeichen mit dem neuen Text überschrieben; andernfalls wird der Text an der Cursorposition eingefügt und der vorhandene Text verdrängt.

Standardmäßig ist diese Eigenschaft false (neuer Text überschreibt den vorhandenen Text nicht).

Zugriffsfunktionen:

bool overwriteMode() const
void setOverwriteMode(bool overwrite)

placeholderText : QString

Diese Eigenschaft enthält den Editor-Platzhaltertext

Wenn diese Eigenschaft gesetzt wird, zeigt der Editor einen ausgegrauten Platzhaltertext an, solange die document() leer ist.

Standardmäßig enthält diese Eigenschaft eine leere Zeichenkette.

Zugriffsfunktionen:

QString placeholderText() const
void setPlaceholderText(const QString &placeholderText)

Siehe auch document().

plainText : QString

Diese Eigenschaft ruft den Inhalt des Klartexteditors ab und legt ihn fest. Der vorherige Inhalt wird entfernt und die Rückgängig-/Wiederherstellungshistorie wird zurückgesetzt, wenn diese Eigenschaft gesetzt wird. currentCharFormat() wird ebenfalls zurückgesetzt, es sei denn, textCursor() befindet sich bereits am Anfang des Dokuments.

Standardmäßig enthält diese Eigenschaft bei einem Editor ohne Inhalt eine leere Zeichenkette.

Zugriffsfunktionen:

QString toPlainText() const
void setPlainText(const QString &text)

Melder-Signal:

void textChanged()

readOnly : bool

Diese Eigenschaft gibt an, ob die Textbearbeitung schreibgeschützt ist.

Bei einer schreibgeschützten Texteingabe kann der Benutzer nur durch den Text navigieren und Text auswählen; eine Änderung des Textes ist nicht möglich.

Die Voreinstellung für diese Eigenschaft ist false.

Zugriffsfunktionen:

bool isReadOnly() const
void setReadOnly(bool ro)

tabChangesFocus : bool

Diese Eigenschaft bestimmt, ob Tab den Fokus ändert oder als Eingabe akzeptiert wird.

In manchen Fällen sollte der Benutzer bei der Textbearbeitung keine Tabulatoren eingeben oder die Einrückung mit der Taste Tab ändern können, da dies die Fokuskette unterbricht. Die Voreinstellung ist false.

Zugriffsfunktionen:

bool tabChangesFocus() const
void setTabChangesFocus(bool b)

tabStopDistance : qreal

Diese Eigenschaft enthält den Abstand des Tabstopps in Pixeln

Standardmäßig enthält diese Eigenschaft einen Wert von 80 Pixeln.

Setzen Sie keinen Wert, der kleiner ist als der horizontalAdvance() des QChar::VisualTabCharacter Zeichens, sonst wird das Tabulator-Zeichen unvollständig gezeichnet.

Zugriffsfunktionen:

qreal tabStopDistance() const
void setTabStopDistance(qreal distance)

Siehe auch QTextOption::ShowTabsAndSpaces und QTextDocument::defaultTextOption.

textInteractionFlags : Qt::TextInteractionFlags

Gibt an, wie das Etikett mit Benutzereingaben interagieren soll, wenn es Text anzeigt.

Wenn die Flags entweder Qt::LinksAccessibleByKeyboard oder Qt::TextSelectableByKeyboard enthalten, wird auch die Fokusrichtlinie automatisch auf Qt::ClickFocus gesetzt.

Der Standardwert hängt davon ab, ob QPlainTextEdit schreibgeschützt oder editierbar ist.

Zugriffsfunktionen:

Qt::TextInteractionFlags textInteractionFlags() const
void setTextInteractionFlags(Qt::TextInteractionFlags flags)

undoRedoEnabled : bool

Diese Eigenschaft gibt an, ob Rückgängigmachen und Wiederherstellen aktiviert sind.

Benutzer können Aktionen nur dann rückgängig machen oder wiederherstellen, wenn diese Eigenschaft wahr ist und wenn es eine Aktion gibt, die rückgängig gemacht (oder wiederhergestellt) werden kann.

Standardmäßig ist diese Eigenschaft true.

Zugriffsfunktionen:

bool isUndoRedoEnabled() const
void setUndoRedoEnabled(bool enable)

wordWrapMode : QTextOption::WrapMode

Diese Eigenschaft enthält den Modus, den QPlainTextEdit beim Umbruch von Text durch Wörter verwendet.

Standardmäßig ist diese Eigenschaft auf QTextOption::WrapAtWordBoundaryOrAnywhere eingestellt.

Zugriffsfunktionen:

QTextOption::WrapMode wordWrapMode() const
void setWordWrapMode(QTextOption::WrapMode policy)

Siehe auch QTextOption::WrapMode.

Dokumentation der Mitgliedsfunktionen

[explicit] QPlainTextEdit::QPlainTextEdit(QWidget *parent = nullptr)

Konstruiert ein leeres QPlainTextEdit mit übergeordnetem parent.

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

Konstruiert ein QPlainTextEdit mit übergeordnetem parent. Die Textbearbeitung zeigt den reinen Text text an.

[virtual noexcept] QPlainTextEdit::~QPlainTextEdit()

Zerstörer.

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

Gibt die Referenz des Ankers an der Position pos zurück, oder eine leere Zeichenkette, wenn an dieser Stelle kein Anker existiert.

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

Hängt einen neuen Absatz mit html an das Ende der Textbearbeitung an.

appendPlainText()

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

Hängt einen neuen Absatz mit text an das Ende der Textbearbeitung an.

Siehe auch appendHtml().

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

Gibt das begrenzende Rechteck des Textes block in Inhaltskoordinaten zurück. Translate the rectangle with the contentOffset() to get visual coordinates on the viewport.

Siehe auch firstVisibleBlock() und blockBoundingRect().

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

Liefert das begrenzende Rechteck des Textes block in den eigenen Koordinaten des Blocks.

Siehe auch blockBoundingGeometry().

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

Dieses Signal wird bei jeder Änderung der Blockanzahl ausgegeben. Die neue Blockanzahl wird in newBlockCount übergeben.

[virtual protected] bool QPlainTextEdit::canInsertFromMimeData(const QMimeData *source) const

Diese Funktion gibt true zurück, wenn der Inhalt des MIME-Datenobjekts, das durch source angegeben wird, dekodiert und in das Dokument eingefügt werden kann. Sie wird z. B. aufgerufen, wenn die Maus während eines Ziehvorgangs in dieses Widget gelangt und festgestellt werden muss, ob das Ziehen akzeptiert werden kann.

bool QPlainTextEdit::canPaste() const

Gibt zurück, ob Text aus der Zwischenablage in das Textedit eingefügt werden kann.

[slot] void QPlainTextEdit::centerCursor()

Scrollt das Dokument, um den Cursor vertikal zu zentrieren.

Siehe auch ensureCursorVisible() und centerOnScroll.

[override virtual protected] void QPlainTextEdit::changeEvent(QEvent *e)

Reimplements: QFrame::changeEvent(QEvent *ev).

[slot] void QPlainTextEdit::clear()

Löscht den gesamten Text in der Textbearbeitung.

Anmerkungen:

  • Der Verlauf des Rückgängigmachens/Wiederholens wird ebenfalls gelöscht.
  • currentCharFormat() wird zurückgesetzt, es sei denn, textCursor() befindet sich bereits am Anfang des Dokuments.

Siehe auch cut() und setPlainText().

[protected] QPointF QPlainTextEdit::contentOffset() const

Gibt den Ursprung des Inhalts in Ansichtsfenster-Koordinaten zurück.

Der Ursprung des Inhalts einer einfachen Textbearbeitung ist immer die linke obere Ecke des ersten sichtbaren Textblocks. Der Content-Offset ist anders als (0,0), wenn der Text horizontal gescrollt wurde, oder wenn der erste sichtbare Block teilweise aus dem Bildschirm gescrollt wurde, d.h. der sichtbare Text beginnt nicht mit der ersten Zeile des ersten sichtbaren Blocks, oder wenn der erste sichtbare Block der allererste Block ist und der Editor einen Rand anzeigt.

Siehe auch firstVisibleBlock(), horizontalScrollBar(), und verticalScrollBar().

[override virtual protected] void QPlainTextEdit::contextMenuEvent(QContextMenuEvent *event)

Reimplements: QAbstractScrollArea::contextMenuEvent(QContextMenuEvent *e).

Zeigt das mit createStandardContextMenu() erstellte Standard-Kontextmenü an.

Wenn Sie nicht wollen, dass die Texteingabe ein Kontextmenü hat, können Sie contextMenuPolicy auf Qt::NoContextMenu setzen. Wenn Sie das Kontextmenü anpassen wollen, implementieren Sie diese Funktion neu. Wenn Sie das Standard-Kontextmenü erweitern wollen, implementieren Sie diese Funktion neu, rufen createStandardContextMenu() auf und erweitern das zurückgegebene Menü.

Die Informationen über das Ereignis werden im Objekt event übergeben.

void MyQPlainTextEdit::contextMenuEvent(QContextMenuEvent *event)
{
    QMenu *menu = createStandardContextMenu();
    menu->addAction(tr("My Menu Item"));
    //...
    menu->exec(event->globalPos());
    delete menu;
}

[slot] void QPlainTextEdit::copy()

Kopiert einen beliebigen markierten Text in die Zwischenablage.

Siehe auch copyAvailable().

[signal] void QPlainTextEdit::copyAvailable(bool yes)

Dieses Signal wird ausgegeben, wenn Text in der Textbearbeitung ausgewählt oder abgewählt wird.

Wenn Text markiert ist, wird dieses Signal mit yes auf true gesetzt. Wenn kein Text markiert ist oder der markierte Text abgewählt wird, wird dieses Signal ausgegeben, wobei yes auf false gesetzt ist.

Wenn yes wahr ist, kann copy() verwendet werden, um die Auswahl in die Zwischenablage zu kopieren. Wenn yes falsch ist, bewirkt copy() nichts.

Siehe auch selectionChanged().

[virtual protected] QMimeData *QPlainTextEdit::createMimeDataFromSelection() const

Diese Funktion gibt ein neues MIME-Datenobjekt zurück, das den Inhalt der aktuellen Auswahl der Textbearbeitung darstellt. Sie wird aufgerufen, wenn die Auswahl in ein neues QMimeData Objekt gekapselt werden soll, z.B. wenn eine Drag & Drop Operation gestartet wird oder wenn Daten in die Zwischenablage kopiert werden.

Wenn Sie diese Funktion neu implementieren, beachten Sie, dass der Besitz des zurückgegebenen QMimeData Objekts an den Aufrufer übergeben wird. Die Auswahl kann mit Hilfe der Funktion textCursor() abgerufen werden.

QMenu *QPlainTextEdit::createStandardContextMenu()

Diese Funktion erstellt das Standard-Kontextmenü, das angezeigt wird, wenn der Benutzer mit der rechten Maustaste auf den zu bearbeitenden Text klickt. Sie wird vom Standardhandler contextMenuEvent() aufgerufen. Das Eigentum an dem Popup-Menü wird an den Aufrufer übertragen.

Wir empfehlen Ihnen, stattdessen die Version createStandardContextMenu(QPoint) zu verwenden, die die Aktionen aktiviert, die davon abhängen, wo der Benutzer geklickt hat.

QMenu *QPlainTextEdit::createStandardContextMenu(const QPoint &position)

Diese Funktion erstellt das Standard-Kontextmenü, das angezeigt wird, wenn der Benutzer mit der rechten Maustaste auf den zu bearbeitenden Text klickt. Sie wird vom Standardhandler contextMenuEvent() aufgerufen und nimmt die position in Dokumentenkoordinaten, wo der Mausklick war. Dadurch können Aktionen aktiviert werden, die von der Position abhängen, an der der Benutzer geklickt hat. Der Besitz des Popup-Menüs wird an den Aufrufer übertragen.

QTextCharFormat QPlainTextEdit::currentCharFormat() const

Gibt das Zeichenformat zurück, das beim Einfügen von neuem Text verwendet wird.

Siehe auch setCurrentCharFormat().

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

gibt eine QTextCursor an der Position pos (in Ansichtskoordinaten) zurück.

[signal] void QPlainTextEdit::cursorPositionChanged()

Dieses Signal wird ausgegeben, wenn sich die Position des Cursors geändert hat.

QRect QPlainTextEdit::cursorRect() const

gibt ein Rechteck (in Ansichtsfenster-Koordinaten) zurück, das den Cursor der Textbearbeitung einschließt.

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

gibt ein Rechteck (in Ansichtsfensterkoordinaten) zurück, das die cursor einschließt.

[slot] void QPlainTextEdit::cut()

Kopiert den markierten Text in die Zwischenablage und löscht ihn aus der Textbearbeitung.

Wenn kein Text markiert ist, geschieht nichts.

Siehe auch copy() und paste().

QTextDocument *QPlainTextEdit::document() const

Gibt einen Zeiger auf das zugrunde liegende Dokument zurück.

Siehe auch setDocument().

[override virtual protected] void QPlainTextEdit::dragEnterEvent(QDragEnterEvent *e)

Reimplements: QAbstractScrollArea::dragEnterEvent(QDragEnterEvent *event).

[override virtual protected] void QPlainTextEdit::dragLeaveEvent(QDragLeaveEvent *e)

Reimplements: QAbstractScrollArea::dragLeaveEvent(QDragLeaveEvent *event).

[override virtual protected] void QPlainTextEdit::dragMoveEvent(QDragMoveEvent *e)

Reimplements: QAbstractScrollArea::dragMoveEvent(QDragMoveEvent *event).

[override virtual protected] void QPlainTextEdit::dropEvent(QDropEvent *e)

Reimplements: QAbstractScrollArea::dropEvent(QDropEvent *event).

void QPlainTextEdit::ensureCursorVisible()

Stellt sicher, dass der Cursor sichtbar ist, indem er die Textbearbeitung bei Bedarf durchläuft.

Siehe auch centerCursor() und centerOnScroll.

QList<QTextEdit::ExtraSelection> QPlainTextEdit::extraSelections() const

Liefert die zuvor eingestellten Extra-Auswahlen zurück.

Siehe auch setExtraSelections().

bool QPlainTextEdit::find(const QString &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())

Findet das nächste Vorkommen der Zeichenkette exp unter Verwendung der angegebenen options. Gibt true zurück, wenn exp gefunden wurde, und ändert den Cursor, um die Übereinstimmung auszuwählen; andernfalls wird false zurückgegeben.

bool QPlainTextEdit::find(const QRegularExpression &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())

Dies ist eine überladene Funktion.

Findet das nächste Vorkommen, das mit dem regulären Ausdruck exp übereinstimmt, unter Verwendung des angegebenen options.

Gibt true zurück, wenn eine Übereinstimmung gefunden wurde, und ändert den Cursor, um die Übereinstimmung auszuwählen; andernfalls wird false zurückgegeben.

Warnung: Aus historischen Gründen wird die Option zur Unterscheidung von Groß- und Kleinschreibung, die für exp festgelegt wurde, ignoriert. Stattdessen werden die options verwendet, um festzustellen, ob bei der Suche die Groß-/Kleinschreibung beachtet wird oder nicht.

[protected] QTextBlock QPlainTextEdit::firstVisibleBlock() const

Gibt den ersten sichtbaren Block zurück.

Siehe auch blockBoundingRect().

[override virtual protected] void QPlainTextEdit::focusInEvent(QFocusEvent *e)

Reimplements: QWidget::focusInEvent(QFocusEvent *event).

[override virtual protected] bool QPlainTextEdit::focusNextPrevChild(bool next)

Reimplements: QWidget::focusNextPrevChild(bool next).

[override virtual protected] void QPlainTextEdit::focusOutEvent(QFocusEvent *e)

Reimplements: QWidget::focusOutEvent(QFocusEvent *event).

[protected] QAbstractTextDocumentLayout::PaintContext QPlainTextEdit::getPaintContext() const

Gibt den Farbkontext für viewport() zurück, nützlich nur bei der Neuimplementierung von paintEvent().

[override virtual protected] void QPlainTextEdit::inputMethodEvent(QInputMethodEvent *e)

Reimplements: QWidget::inputMethodEvent(QInputMethodEvent *event).

[override virtual] QVariant QPlainTextEdit::inputMethodQuery(Qt::InputMethodQuery property) const

Reimplements: QWidget::inputMethodQuery(Qt::InputMethodQuery query) const.

[virtual protected] void QPlainTextEdit::insertFromMimeData(const QMimeData *source)

Diese Funktion fügt den Inhalt des durch source angegebenen MIME-Datenobjekts in die Texteingabe an der aktuellen Cursorposition ein. Sie wird immer dann aufgerufen, wenn Text als Ergebnis einer Einfügeoperation in die Zwischenablage eingefügt wird oder wenn die Texteingabe Daten aus einer Drag&Drop-Operation annimmt.

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

Bequemer Slot, der text an der aktuellen Cursorposition einfügt.

Er ist äquivalent zu

edit->textCursor().insertText(text);

[override virtual protected] void QPlainTextEdit::keyPressEvent(QKeyEvent *e)

Reimplements: QAbstractScrollArea::keyPressEvent(QKeyEvent *e).

[override virtual protected] void QPlainTextEdit::keyReleaseEvent(QKeyEvent *e)

Reimplements: QWidget::keyReleaseEvent(QKeyEvent *event).

[virtual] QVariant QPlainTextEdit::loadResource(int type, const QUrl &name)

Lädt die durch die angegebenen type und name spezifizierte Ressource.

Diese Funktion ist eine Erweiterung von QTextDocument::loadResource().

Siehe auch QTextDocument::loadResource().

void QPlainTextEdit::mergeCurrentCharFormat(const QTextCharFormat &modifier)

Fügt die in modifier angegebenen Eigenschaften in das aktuelle Zeichenformat ein, indem QTextCursor::mergeCharFormat am Cursor des Editors aufgerufen wird. Wenn der Editor eine Auswahl hat, werden die Eigenschaften von modifier direkt auf die Auswahl angewendet.

Siehe auch QTextCursor::mergeCharFormat().

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

Dieses Signal wird immer dann ausgegeben, wenn sich der Inhalt des Dokuments in einer Weise ändert, die den Änderungsstatus beeinflusst. Wenn changed true ist, wurde das Dokument geändert; andernfalls ist es false.

Wenn Sie zum Beispiel setModified(false) für ein Dokument aufrufen und dann Text einfügen, wird das Signal ausgegeben. Wenn Sie diesen Vorgang rückgängig machen, so dass das Dokument in seinen ursprünglichen, unveränderten Zustand zurückkehrt, wird das Signal erneut ausgegeben.

[override virtual protected] void QPlainTextEdit::mouseDoubleClickEvent(QMouseEvent *e)

Reimplements: QAbstractScrollArea::mouseDoubleClickEvent(QMouseEvent *e).

[override virtual protected] void QPlainTextEdit::mouseMoveEvent(QMouseEvent *e)

Reimplements: QAbstractScrollArea::mouseMoveEvent(QMouseEvent *e).

[override virtual protected] void QPlainTextEdit::mousePressEvent(QMouseEvent *e)

Reimplements: QAbstractScrollArea::mousePressEvent(QMouseEvent *e).

[override virtual protected] void QPlainTextEdit::mouseReleaseEvent(QMouseEvent *e)

Reimplements: QAbstractScrollArea::mouseReleaseEvent(QMouseEvent *e).

void QPlainTextEdit::moveCursor(QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor)

Bewegt den Cursor, indem er den angegebenen operation ausführt.

Wenn mode gleich QTextCursor::KeepAnchor ist, markiert der Cursor den Text, über den er sich bewegt. Dies ist der gleiche Effekt, den der Benutzer erzielt, wenn er die Umschalttaste gedrückt hält und den Cursor mit den Cursortasten bewegt.

Siehe auch QTextCursor::movePosition().

[override virtual protected] void QPlainTextEdit::paintEvent(QPaintEvent *e)

Reimplements: QAbstractScrollArea::paintEvent(QPaintEvent *event).

[slot] void QPlainTextEdit::paste()

Fügt den Text aus der Zwischenablage in die Texteingabe an der aktuellen Cursorposition ein.

Wenn sich kein Text in der Zwischenablage befindet, passiert nichts.

Um das Verhalten dieser Funktion zu ändern, d.h. um zu modifizieren, was QPlainTextEdit einfügen kann und wie es eingefügt wird, müssen die virtuellen Funktionen canInsertFromMimeData() und insertFromMimeData() neu implementiert werden.

Siehe auch cut() und copy().

void QPlainTextEdit::print(QPagedPaintDevice *printer) const

Convenience-Funktion, um das Dokument der Textbearbeitung auf die angegebene printer zu drucken. Dies ist äquivalent zum direkten Aufruf der Druckmethode für das Dokument, außer dass diese Funktion auch QPrinter::Selection als Druckbereich unterstützt.

Siehe auch QTextDocument::print().

[slot] void QPlainTextEdit::redo()

Wiederholt den letzten Vorgang.

Wenn es keinen Vorgang gibt, der wiederhergestellt werden kann, d. h. kein Wiederherstellungsschritt in der Undo-/Redo-Historie vorhanden ist, passiert nichts.

Siehe auch undo().

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

Dieses Signal wird ausgegeben, wenn Redo-Operationen verfügbar (available ist true) oder nicht verfügbar (available ist false) werden.

[override virtual protected] void QPlainTextEdit::resizeEvent(QResizeEvent *e)

Reimplements: QAbstractScrollArea::resizeEvent(QResizeEvent *event).

[override virtual protected] void QPlainTextEdit::scrollContentsBy(int dx, int dy)

Reimplements: QAbstractScrollArea::scrollContentsBy(int dx, int dy).

[slot] void QPlainTextEdit::selectAll()

Markiert den gesamten Text.

Siehe auch copy(), cut(), und textCursor().

[signal] void QPlainTextEdit::selectionChanged()

Dieses Signal wird ausgegeben, wenn sich die Auswahl ändert.

Siehe auch copyAvailable().

void QPlainTextEdit::setCurrentCharFormat(const QTextCharFormat &format)

Legt das Zeichenformat fest, das beim Einfügen von neuem Text in format durch den Aufruf von QTextCursor::setCharFormat() am Cursor des Editors verwendet werden soll. Wenn der Editor eine Auswahl hat, wird das Zeichenformat direkt auf die Auswahl angewendet.

Siehe auch currentCharFormat().

void QPlainTextEdit::setDocument(QTextDocument *document)

Macht document zum neuen Dokument des Texteditors.

Das übergeordnete QObject des bereitgestellten Dokuments bleibt der Eigentümer des Objekts. Wenn das aktuelle Dokument ein Kind des Texteditors ist, wird es gelöscht.

Das Dokument muss ein Dokumentenlayout haben, das QPlainTextDocumentLayout erbt (siehe QTextDocument::setDocumentLayout()).

Siehe auch document().

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

Mit dieser Funktion können bestimmte Bereiche im Dokument vorübergehend mit einer bestimmten Farbe markiert werden, die als selections angegeben wird. Dies kann z.B. in einem Programmiereditor nützlich sein, um eine ganze Textzeile mit einer bestimmten Hintergrundfarbe zu markieren, um das Vorhandensein eines Haltepunktes anzuzeigen.

Siehe auch QTextEdit::ExtraSelection und extraSelections().

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

Ändert den Text der Texteingabe in die Zeichenkette text. Jeder vorherige Text wird entfernt.

text wird als reiner Text interpretiert.

Anmerkungen:

  • Die Undo/Redo-Historie wird ebenfalls gelöscht.
  • currentCharFormat() wird zurückgesetzt, es sei denn, textCursor() befindet sich bereits am Anfang des Dokuments.

Hinweis: Setter-Funktion für die Eigenschaft plainText.

Siehe auch toPlainText().

void QPlainTextEdit::setTextCursor(const QTextCursor &cursor)

Legt die sichtbare cursor fest.

Siehe auch textCursor().

[override virtual protected] void QPlainTextEdit::showEvent(QShowEvent *)

Reimplements: QWidget::showEvent(QShowEvent *event).

[signal] void QPlainTextEdit::textChanged()

Dieses Signal wird immer dann ausgegeben, wenn sich der Inhalt des Dokuments ändert, z. B. wenn Text eingefügt oder gelöscht wird oder wenn eine Formatierung vorgenommen wird.

Hinweis: Benachrichtigungssignal für die Eigenschaft plainText.

QTextCursor QPlainTextEdit::textCursor() const

Gibt eine Kopie von QTextCursor zurück, die den derzeit sichtbaren Cursor darstellt. Beachten Sie, dass sich Änderungen am zurückgegebenen Cursor nicht auf den Cursor von QPlainTextEdit auswirken; verwenden Sie setTextCursor(), um den sichtbaren Cursor zu aktualisieren.

Siehe auch setTextCursor().

QString QPlainTextEdit::toPlainText() const

Gibt den Text der Texteingabe als reinen Text zurück.

Hinweis: Getter-Funktion für die Eigenschaft plainText.

Siehe auch QPlainTextEdit::setPlainText().

[slot] void QPlainTextEdit::undo()

Macht den letzten Vorgang rückgängig.

Wenn es keinen Vorgang gibt, der rückgängig zu machen ist, d.h. wenn es keinen Rückgängig-Schritt in der Undo/Redo-Historie gibt, passiert nichts.

Siehe auch redo().

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

Dieses Signal wird ausgegeben, wenn Rückgängigmachungen verfügbar (available ist true) oder nicht verfügbar (available ist false) werden.

[signal] void QPlainTextEdit::updateRequest(const QRect &rect, int dy)

Dieses Signal wird ausgesendet, wenn das Textdokument eine Aktualisierung des angegebenen rect benötigt. Wenn der Text gescrollt wird, deckt rect den gesamten Bereich des Ansichtsfensters ab. Wenn der Text vertikal gescrollt wird, überträgt dy die Anzahl der Pixel, um die das Ansichtsfenster gescrollt wurde.

Der Zweck des Signals ist es, zusätzliche Widgets in Unterklassen für die Textbearbeitung zu unterstützen, die z.B. Zeilennummern, Haltepunkte oder andere zusätzliche Informationen anzeigen.

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

Reimplements: QAbstractScrollArea::wheelEvent(QWheelEvent *e).

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

Vergrößert den Text, indem es die Basisschriftgröße range Punkte vergrößert und alle Schriftgrößen auf die neue Größe umrechnet. Die Größe der Bilder wird dabei nicht verändert.

Siehe auch zoomOut().

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

Verkleinert den Text, indem die Basisschriftgröße range verkleinert wird und alle Schriftgrößen auf die neue Größe neu berechnet werden. Die Größe der Bilder wird dabei nicht verändert.

Siehe auch zoomIn().

© 2025 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.