Auf dieser Seite

QLineEdit Class

Das QLineEdit-Widget ist ein einzeiliger Texteditor. Mehr...

Überschrift: #include <QLineEdit>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Erbt: QWidget

Öffentliche Typen

enum ActionPosition { LeadingPosition, TrailingPosition }
enum EchoMode { Normal, NoEcho, Password, PasswordEchoOnEdit }

Eigenschaften

Öffentliche Funktionen

QLineEdit(QWidget *parent = nullptr)
QLineEdit(const QString &contents, QWidget *parent = nullptr)
virtual ~QLineEdit()
void addAction(QAction *action, QLineEdit::ActionPosition position)
QAction *addAction(const QIcon &icon, QLineEdit::ActionPosition position)
Qt::Alignment alignment() const
void backspace()
QCompleter *completer() const
QMenu *createStandardContextMenu()
void cursorBackward(bool mark, int steps = 1)
void cursorForward(bool mark, int steps = 1)
Qt::CursorMoveStyle cursorMoveStyle() const
int cursorPosition() const
int cursorPositionAt(const QPoint &pos)
void cursorWordBackward(bool mark)
void cursorWordForward(bool mark)
void del()
void deselect()
QString displayText() const
bool dragEnabled() const
QLineEdit::EchoMode echoMode() const
void end(bool mark)
bool hasAcceptableInput() const
bool hasFrame() const
bool hasSelectedText() const
void home(bool mark)
QString inputMask() const
void insert(const QString &newText)
bool isClearButtonEnabled() const
bool isModified() const
bool isReadOnly() const
bool isRedoAvailable() const
bool isUndoAvailable() const
int maxLength() const
QString placeholderText() const
QString selectedText() const
int selectionEnd() const
int selectionLength() const
int selectionStart() const
void setAlignment(Qt::Alignment flag)
void setClearButtonEnabled(bool enable)
void setCompleter(QCompleter *c)
void setCursorMoveStyle(Qt::CursorMoveStyle style)
void setCursorPosition(int)
void setDragEnabled(bool b)
void setEchoMode(QLineEdit::EchoMode)
void setFrame(bool)
void setInputMask(const QString &inputMask)
void setMaxLength(int)
void setModified(bool)
void setPlaceholderText(const QString &)
void setReadOnly(bool)
void setSelection(int start, int length)
void setTextMargins(const QMargins &margins)
void setTextMargins(int left, int top, int right, int bottom)
void setValidator(const QValidator *v)
QString text() const
QMargins textMargins() const
const QValidator *validator() const

Neu implementierte öffentliche Funktionen

virtual bool event(QEvent *e) override
virtual QVariant inputMethodQuery(Qt::InputMethodQuery property) const override
virtual QSize minimumSizeHint() const override
virtual QSize sizeHint() const override
virtual void timerEvent(QTimerEvent *e) override

Öffentliche Slots

void clear()
void copy() const
void cut()
void paste()
void redo()
void selectAll()
void setText(const QString &)
void undo()

Signale

void cursorPositionChanged(int oldPos, int newPos)
void editingFinished()
void inputRejected()
void returnPressed()
void selectionChanged()
void textChanged(const QString &text)
void textEdited(const QString &text)

Geschützte Funktionen

QRect cursorRect() const
virtual void initStyleOption(QStyleOptionFrame *option) const

Neu implementierte geschützte Funktionen

virtual void changeEvent(QEvent *ev) 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 void focusOutEvent(QFocusEvent *e) override
virtual void inputMethodEvent(QInputMethodEvent *e) override
virtual void keyPressEvent(QKeyEvent *event) 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 *) override

Ausführliche Beschreibung

Zeilenbearbeitung mit einer Textbegrüßung

Ein Zeilenbearbeitungsfeld ermöglicht es Benutzern, eine einzelne Zeile Klartext einzugeben und zu bearbeiten, wobei nützliche Bearbeitungsfunktionen wie „Rückgängig“ und „Wiederherstellen“, „Ausschneiden“ und „Einfügen“ sowie „Ziehen und Ablegen“ zur Verfügung stehen.

Durch Ändern des Attributs „ echoMode “ () eines Zeilenbearbeitungsfelds kann dieses auch als schreibgeschütztes Feld für Eingaben wie Passwörter verwendet werden.

QTextEdit ist eine verwandte Klasse, die die Bearbeitung von mehrzeiligem Rich-Text ermöglicht.

Textbeschränkungen

Verwenden Sie ` maxLength `, um die maximal zulässige Länge eines Textes festzulegen. Mit ` inputMask ` und ` setValidator()` können Sie den Textinhalt weiter einschränken.

Text bearbeiten

Sie können den Text mit ` setText()` oder ` insert()` ändern. Verwenden Sie ` text()`, um den Text abzurufen, und ` displayText()`, um den angezeigten Text abzurufen (der möglicherweise abweicht, siehe EchoMode). Sie können den Text mit ` setSelection()` oder ` selectAll()` auswählen und die Auswahl mit ` cut()`, ` copy()` und ` paste()` bearbeiten. Um den Text auszurichten, verwenden Sie ` setAlignment()`.

Wenn sich der Text ändert, wird das Signal „ textChanged “ () ausgelöst. Wenn sich der Text auf andere Weise als durch den Aufruf von „ setText “ () ändert, wird das Signal „ textEdited “ () ausgelöst. Wenn der Cursor bewegt wird, wird das Signal „ cursorPositionChanged “ () ausgelöst. Und wenn die Return- oder Enter-Taste gedrückt wird, wird das Signal „ returnPressed “ () ausgelöst.

Wenn die Textbearbeitung beendet ist – entweder weil das Zeilenfeld den Fokus verloren hat oder weil die Return- bzw. Enter-Taste gedrückt wurde –, wird das Signal „ editingFinished “ () ausgelöst.

Wird der Fokus des Zeileneditors verloren, ohne dass Textänderungen vorgenommen wurden, wird das Signal „ editingFinished()“ nicht ausgelöst.

Ist für das Zeileneditfeld ein Validator festgelegt, werden die Signale „ returnPressed “ () und „editingFinished “ () nur ausgegeben, wenn der Validator den Wert „ QValidator::Acceptable “ zurückgibt.

Weitere Informationen zu den vielfältigen Einsatzmöglichkeiten von QLineEdit finden Sie im Beispiel „Line Edits Example“, das zudem eine Auswahl an Beispielen für Zeileneingabefelder enthält, die die Auswirkungen verschiedener Eigenschaften und Validatoren auf die vom Benutzer eingegebenen und ausgegebenen Daten veranschaulichen.

Festlegen eines Rahmens

Standardmäßig verfügen QLineEdits über einen Rahmen, wie er in den Stilrichtlinien der jeweiligen Plattform festgelegt ist. Sie können den Rahmen deaktivieren, indem Sie ` setFrame(false)` aufrufen.

Standard-Tastenbelegungen

In der folgenden Tabelle werden die Standard-Tastenkombinationen beschrieben.

Hinweis: Das Eingabefeld verfügt außerdem über ein Kontextmenü (das in der Regel durch einen Rechtsklick aufgerufen wird), das einige der unten aufgeführten Bearbeitungsoptionen enthält.

TastenbefehlAktion
Pfeil nach linksBewegt den Cursor um ein Zeichen nach links.
Umschalt+Pfeil nach linksBewegt den Cursor um ein Zeichen nach links und markiert den Text.
Pfeil nach rechtsBewegt den Cursor um ein Zeichen nach rechts.
Umschalt+Pfeil nach rechtsVerschiebt und markiert den Text um ein Zeichen nach rechts.
Pos1Bewegt den Cursor an den Anfang der Zeile.
EndeBewegt den Cursor an das Ende der Zeile.
RücktasteLöscht das Zeichen links vom Cursor.
Strg+RücktasteLöscht das Wort links vom Cursor.
EntfLöscht das Zeichen rechts vom Cursor.
Strg+EntfLöscht das Wort rechts vom Cursor.
Strg+AAlles auswählen.
Strg+CKopiert den ausgewählten Text in die Zwischenablage.
Strg+EinfgKopiert den ausgewählten Text in die Zwischenablage.
Strg+KLöscht bis zum Zeilenende.
Strg+VFügt den Text aus der Zwischenablage in das Eingabefeld ein.
Umschalt+EinfügenFügt den Text aus der Zwischenablage in das Bearbeitungsfeld ein.
Strg+XLöscht den ausgewählten Text und kopiert ihn in die Zwischenablage.
Umschalt+EntfLöscht den ausgewählten Text und kopiert ihn in die Zwischenablage.
Strg+ZMacht den letzten Vorgang rückgängig.
Strg+YWiederholt den zuletzt rückgängig gemachten Vorgang.

Jeder andere Tastenanschlag, der ein gültiges Zeichen darstellt, führt dazu, dass das Zeichen in das Eingabefeld eingefügt wird.

Siehe auch „ QTextEdit“ , „ QLabel “, „ QComboBox “ und das Beispiel zu Zeilenbearbeitungsfeldern.

Dokumentation zu Mitgliedstypen

enum QLineEdit::ActionPosition

Dieser Enum-Typ beschreibt, wie ein Line-Edit-Feld die hinzuzufügenden Aktions-Widgets anzeigen soll.

KonstanteWertBeschreibung
QLineEdit::LeadingPosition0Das Widget wird bei Verwendung der Layoutrichtung „ Qt::LeftToRight “ links vom Text und bei Verwendung von „ Qt::RightToLeft “ rechts davon angezeigt.
QLineEdit::TrailingPosition1Das Widget wird bei Verwendung der Layoutrichtung „ Qt::LeftToRight “ rechts vom Text bzw. bei Verwendung von „ Qt::RightToLeft “ links davon angezeigt.

Siehe auch addAction(), removeAction() und QWidget::layoutDirection.

enum QLineEdit::EchoMode

Dieser Enum-Typ beschreibt, wie ein Zeilenbearbeitungsfeld seinen Inhalt anzeigen soll.

KonstanteWertBeschreibung
QLineEdit::Normal0Zeigt Zeichen während der Eingabe an. Dies ist die Standardeinstellung.
QLineEdit::NoEcho1Nichts anzeigen. Dies kann bei Passwörtern sinnvoll sein, bei denen sogar die Länge des Passworts geheim gehalten werden soll.
QLineEdit::Password2Zeigt plattformabhängige Passwortmaskenzeichen anstelle der tatsächlich eingegebenen Zeichen an.
QLineEdit::PasswordEchoOnEdit3Zeigt Zeichen nur während der Eingabe an. Ansonsten werden Zeichen wie bei ` Password` angezeigt.

Siehe auch „ setEchoMode()“ und „ echoMode()“.

Dokumentation zu den Eigenschaften

[read-only] acceptableInput : bool

Diese Eigenschaft gibt an, ob die Eingabe die „ inputMask “ und die Validierungsregeln erfüllt.

Standardmäßig ist diese Eigenschaft auf „ true “ gesetzt.

Zugriffsfunktionen:

bool hasAcceptableInput() const

Siehe auch „ setInputMask()“ und „ setValidator()“.

alignment : Qt::Alignment

Diese Eigenschaft legt die Ausrichtung des Line-Edit-Feldes fest.

Sowohl horizontale als auch vertikale Ausrichtung sind hier zulässig; „ Qt::AlignJustify “ wird auf „ Qt::AlignLeft “ abgebildet.

Standardmäßig enthält diese Eigenschaft eine Kombination aus „ Qt::AlignLeft “ und „ Qt::AlignVCenter “.

Zugriffsfunktionen:

Qt::Alignment alignment() const
void setAlignment(Qt::Alignment flag)

Siehe auch „ Qt::Alignment “.

clearButtonEnabled : bool

Diese Eigenschaft legt fest, ob das Eingabefeld eine Schaltfläche „Löschen“ anzeigt, wenn es nicht leer ist.

Wenn diese Eigenschaft aktiviert ist, zeigt das Eingabefeld eine Schaltfläche „ clear “ am Ende an, sofern es Text enthält. Andernfalls wird die Schaltfläche „ clear “ nicht angezeigt (Standardeinstellung).

Zugriffsfunktionen:

bool isClearButtonEnabled() const
void setClearButtonEnabled(bool enable)

Siehe auch „ addAction()“ und „ removeAction()“.

cursorMoveStyle : Qt::CursorMoveStyle

Diese Eigenschaft legt den Bewegungsstil des Cursors in diesem Eingabefeld fest.

Wenn diese Eigenschaft auf „ Qt::VisualMoveStyle “ gesetzt ist, verwendet das Zeileneditierfeld einen visuellen Bewegungsstil. Durch Drücken der linken Pfeiltaste wird der Cursor immer nach links bewegt, unabhängig von der Schreibrichtung des Textes. Das gleiche Verhalten gilt für die rechte Pfeiltaste.

Ist die Eigenschaft auf „ Qt::LogicalMoveStyle “ gesetzt (Standardeinstellung), wird in einem Textblock mit Leserichtung von links nach rechts (LTR) durch Drücken der Pfeiltaste nach links die Cursorposition erhöht, während durch Drücken der Pfeiltaste nach rechts die Cursorposition verringert wird. Bei einem Textblock mit Leserichtung von rechts nach links (RTL) gilt das umgekehrte Verhalten.

Zugriffsfunktionen:

Qt::CursorMoveStyle cursorMoveStyle() const
void setCursorMoveStyle(Qt::CursorMoveStyle style)

cursorPosition : int

Diese Eigenschaft speichert die aktuelle Cursorposition für dieses Eingabefeld.

Das Festlegen der Cursorposition führt bei Bedarf zu einer Neuzeichnung.

Standardmäßig enthält diese Eigenschaft den Wert 0.

Zugriffsfunktionen:

int cursorPosition() const
void setCursorPosition(int)

[read-only] displayText : QString

Diese Eigenschaft enthält den angezeigten Text.

Wenn „ echoMode “ auf „ Normal “ gesetzt ist, gibt diese Funktion dasselbe Ergebnis zurück wie „ text()“. Wenn „ EchoMode “ auf „ Password “ oder „ PasswordEchoOnEdit “ gesetzt ist, gibt sie eine Zeichenkette mit plattformabhängigen Passwortmaskenzeichen zurück (z. B. „******“). Wenn „ EchoMode “ auf „ NoEcho “ gesetzt ist, gibt sie eine leere Zeichenkette zurück.

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

Zugriffsfunktionen:

QString displayText() const

Siehe auch „ setEchoMode()“, „ text()“ und „ EchoMode “.

dragEnabled : bool

Diese Eigenschaft legt fest, ob das Textfeld einen Ziehvorgang auslöst, wenn der Benutzer die Maustaste drückt und die Maus über einen ausgewählten Text bewegt.

Das Ziehen ist standardmäßig deaktiviert.

Zugriffsfunktionen:

bool dragEnabled() const
void setDragEnabled(bool b)

echoMode : EchoMode

Diese Eigenschaft legt den Echo-Modus des Zeilenbearbeitungsfelds fest.

Der Echo-Modus legt fest, wie der in das Zeileneingabefeld eingegebene Text dem Benutzer angezeigt (oder wiedergegeben) wird.

Die gängigste Einstellung ist „ Normal “, bei der der vom Benutzer eingegebene Text wörtlich angezeigt wird. „ QLineEdit “ unterstützt auch Modi, in denen der eingegebene Text unterdrückt oder verdeckt werden kann: Dazu gehören „ NoEcho “, „ Password “ und „ PasswordEchoOnEdit “.

Diese Einstellung wirkt sich auf die Darstellung des Widgets sowie auf die Möglichkeit aus, den Text zu kopieren oder zu verschieben.

Standardmäßig ist diese Eigenschaft auf „ Normal “ gesetzt.

Zugriffsfunktionen:

QLineEdit::EchoMode echoMode() const
void setEchoMode(QLineEdit::EchoMode)

Siehe auch „ EchoMode “ und „ displayText()“.

frame : bool

Diese Eigenschaft legt fest, ob das Eingabefeld mit einem Rahmen dargestellt wird.

Wenn diese Eigenschaft aktiviert ist (Standardeinstellung), wird das Eingabefeld innerhalb eines Rahmens dargestellt. Andernfalls wird das Eingabefeld ohne Rahmen dargestellt.

Zugriffsfunktionen:

bool hasFrame() const
void setFrame(bool)

[read-only] hasSelectedText : bool

Diese Eigenschaft gibt an, ob Text ausgewählt ist.

hasSelectedText() gibt „ true “ zurück, wenn ein Teil oder der gesamte Text vom Benutzer ausgewählt wurde. Andernfalls gibt es „ false “ zurück.

Standardmäßig ist diese Eigenschaft auf „ false “ gesetzt.

Zugriffsfunktionen:

bool hasSelectedText() const

Siehe auch ` selectedText()`.

inputMask : QString

Diese Eigenschaft enthält die Validierungsmaske für die Eingabe.

Legt die Validierungsmaske des „ QLineEdit “ fest. Anstelle von Masken oder in Verbindung mit diesen können Validatoren verwendet werden; siehe setValidator(). Der Standardwert ist eine leere Zeichenkette, was bedeutet, dass keine Eingabemaske verwendet wird.

Um die Maske zu deaktivieren und zum normalen Betrieb von „ QLineEdit “ zurückzukehren, übergeben Sie eine leere Zeichenkette.

Die Eingabemaske ist eine Zeichenkette, die als Eingabevorlage dient. Sie kann folgende Elemente enthalten:

MaskenzeichenDefinieren die Category der Eingabezeichen, die an dieser Position als gültig gelten.
MetazeichenVerschiedene Sonderbedeutungen (siehe Details unten).
TrennzeichenAlle anderen Zeichen gelten als unveränderliche Trennzeichen.

Die folgende Tabelle zeigt die Masken- und Metazeichen, die in einer Eingabemaske verwendet werden können.

MaskenzeichenBedeutung
AZeichen der Kategorie „Buchstaben“ erforderlich, z. B. A–Z, a–z.
aZeichen der Kategorie „Buchstabe“, das zulässig, aber nicht erforderlich ist.
NZeichen der Kategorie „Buchstabe“ oder „Ziffer“, das erforderlich ist, z. B. A–Z, a–z, 0–9.
nZeichen der Kategorie „Buchstaben“ oder „Zahlen“ sind zulässig, aber nicht erforderlich.
XBeliebiges Zeichen (keine Leerstelle) erforderlich.
xBeliebiges Zeichen (außer Leerzeichen) ist zulässig, aber nicht erforderlich.
9Zeichen der Kategorie „Ziffer“ erforderlich, z. B. 0–9.
0Zeichen der Kategorie „Zahlen“ sind zulässig, aber nicht erforderlich.
DEin Zeichen der Kategorie „Zahl“, das größer als Null ist, ist erforderlich, z. B. 1–9.
dEin Zeichen der Kategorie „Zahl“, das größer als Null ist, ist zulässig, aber nicht erforderlich, z. B. 1–9.
#Zeichen der Kategorie „Zahl“ oder ein Plus- oder Minuszeichen sind zulässig, aber nicht erforderlich.
HZeichen der Kategorie „Hexadezimal“ erforderlich. A–F, a–f, 0–9.
hZeichen aus dem Hexadezimalbereich erlaubt, aber nicht erforderlich.
BBinärzeichen erforderlich. 0–1.
bBinärzeichen erlaubt, aber nicht erforderlich.
MetazeichenBedeutung
>Alle nachfolgenden Buchstaben werden in Großbuchstaben umgewandelt.
<Alle folgenden Buchstaben werden in Kleinbuchstaben umgewandelt.
!Groß-/Kleinschreibung deaktivieren.
;cBeendet die Eingabemaske und setzt das Leer zeichen auf „c“.
[ ] { }Reserviert.
\Verwenden Sie „ \ “, um die oben aufgeführten Sonderzeichen zu maskieren und sie als Trennzeichen zu verwenden.

Beim Anlegen oder Löschen wird das Eingabefeld mit einer Kopie der Eingabemaske gefüllt, aus der die Metazeichen entfernt und die Maskenzeichen durch das Leerzeichen (standardmäßig ein „ space “) ersetzt wurden.

Wenn eine Eingabemaske festgelegt ist, gibt die Methode ` text()` eine modifizierte Kopie des Inhalts des Zeileneditors zurück, aus der alle Leerzeichen entfernt wurden. Der unveränderte Inhalt kann mit ` displayText()` ausgelesen werden.

Die Methode ` hasAcceptableInput()` gibt `false` zurück, wenn der aktuelle Inhalt des Zeilenbearbeitungsfelds die Anforderungen der Eingabemaske nicht erfüllt.

Beispiele:

MaskeHinweise
000.000.000.000;_IP-Adresse; Leerzeichen sind „ _ “.
HH:HH:HH:HH:HH:HH;_MAC-Adresse
0000-00-00ISO-Datum; Leerzeichen werden als space
>AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;#Lizenznummer; Leerzeichen werden als „ # “ interpretiert, und alle (alphabetischen) Zeichen werden in Großbuchstaben umgewandelt.

Um eine Bereichssteuerung (z. B. für eine IP-Adresse) zu erhalten, verwenden Sie Masken zusammen mit „ validators “.

Zugriffsfunktionen:

QString inputMask() const
void setInputMask(const QString &inputMask)

Siehe auch maxLength, QChar::isLetter(), QChar::isNumber() und QChar::digitValue().

maxLength : int

Diese Eigenschaft gibt die maximal zulässige Länge des Textes an.

Ist der Text zu lang, wird er an der Grenze abgeschnitten.

Im Falle einer Kürzung wird jeglicher markierte Text die Markierung aufheben, die Cursorposition wird auf 0 gesetzt und der erste Teil der Zeichenkette wird angezeigt.

Verfügt das Eingabefeld über eine Eingabemaske, legt diese die maximale Zeichenfolgenlänge fest.

Standardmäßig enthält diese Eigenschaft den Wert 32767.

Zugriffsfunktionen:

int maxLength() const
void setMaxLength(int)

Siehe auch „ inputMask “.

modified : bool

Diese Eigenschaft gibt an, ob der Inhalt des Eingabefelds vom Benutzer geändert wurde.

Das Flag „modified“ wird von „ QLineEdit “ niemals ausgelesen; es hat den Standardwert „false“ und wird auf „true“ gesetzt, sobald der Benutzer den Inhalt des Line-Edit-Feldes ändert.

Dies ist nützlich für Fälle, in denen ein Standardwert bereitgestellt werden muss, der zu Beginn jedoch noch nicht bekannt ist (beispielsweise, wenn er von anderen Feldern im Formular abhängt). Starten Sie das Eingabefeld ohne den optimalen Standardwert, und sobald der Standardwert bekannt ist: Wenn `modified()` ` false ` zurückgibt (der Benutzer hat noch keinen Text eingegeben), fügen Sie den Standardwert ein.

Der Aufruf von ` setText()` setzt das Flag „modified“ auf „false“ zurück.

Zugriffsfunktionen:

bool isModified() const
void setModified(bool)

placeholderText : QString

Diese Eigenschaft enthält den Platzhaltertext des Eingabefelds.

Wird diese Eigenschaft gesetzt, zeigt das Zeileneingabefeld einen ausgegrauten Platzhaltertext an, solange das Zeileneingabefeld leer ist.

Normalerweise zeigt ein leeres Eingabefeld den Platzhaltertext auch dann an, wenn es den Fokus hat. Ist der Inhalt jedoch horizontal zentriert, wird der Platzhaltertext nicht unter dem Cursor angezeigt, wenn das Eingabefeld den Fokus hat.

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

Zugriffsfunktionen:

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

Siehe auch „ text()“.

readOnly : bool

Diese Eigenschaft gibt an, ob das Zeileneingabefeld schreibgeschützt ist.

Im schreibgeschützten Modus kann der Benutzer den Text weiterhin in die Zwischenablage kopieren oder per Drag & Drop verschieben (sofern „ echoMode()“ auf „ Normal “ gesetzt ist), ihn jedoch nicht bearbeiten.

QLineEdit Im schreibgeschützten Modus wird kein Cursor angezeigt.

Standardmäßig ist diese Eigenschaft auf „ false “ gesetzt.

Zugriffsfunktionen:

bool isReadOnly() const
void setReadOnly(bool)

Siehe auch ` setEnabled()`.

[read-only] redoAvailable : bool

Diese Eigenschaft gibt an, ob die Funktion „Wiederholen“ verfügbar ist.

„Redo“ wird verfügbar, sobald der Benutzer eine oder mehrere „Undo“-Operationen für den Text im Zeilenbearbeitungsfeld durchgeführt hat.

Standardmäßig ist diese Eigenschaft auf „ false “ gesetzt.

Zugriffsfunktionen:

bool isRedoAvailable() const

[read-only] selectedText : QString

Diese Eigenschaft enthält den ausgewählten Text.

Wenn kein Text ausgewählt ist, ist der Wert dieser Eigenschaft eine leere Zeichenfolge.

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

Zugriffsfunktionen:

QString selectedText() const

Siehe auch „ hasSelectedText()“.

text : QString

Diese Eigenschaft enthält den Text des Zeileneingabefelds.

Das Setzen dieser Eigenschaft löscht die Auswahl, löscht den Undo-/Redo-Verlauf, bewegt den Cursor an das Zeilenende und setzt die Eigenschaft „ modified “ auf „false“ zurück. Der Text wird beim Einfügen mit „setText()“ nicht validiert.

Der Text wird auf die Länge von ` maxLength()` gekürzt.

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

Zugriffsfunktionen:

QString text() const
void setText(const QString &)

Notifier-Signal:

void textChanged(const QString &text)

Siehe auch „ insert()“ und „ clear()“.

[read-only] undoAvailable : bool

Diese Eigenschaft gibt an, ob die Rückgängig-Funktion verfügbar ist.

Die Rückgängig-Funktion wird verfügbar, sobald der Benutzer den Text im Zeilenbearbeitungsfeld geändert hat.

Standardmäßig ist diese Eigenschaft auf „ false “ gesetzt.

Zugriffsfunktionen:

bool isUndoAvailable() const

Dokumentation zu den Member-Funktionen

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

Erstellt ein Textfeld ohne Text.

Die maximale Textlänge ist auf 32767 Zeichen festgelegt.

Das Argument „ parent “ wird an den Konstruktor „ QWidget “ übergeben.

Siehe auch „ setText()“ und „ setMaxLength()“.

[explicit] QLineEdit::QLineEdit(const QString &contents, QWidget *parent = nullptr)

Erstellt ein Zeilenbearbeitungsfeld mit dem Text „ contents “ als untergeordnetes Element von „ parent “.

Die Cursorposition wird auf das Ende der Zeile gesetzt und die maximale Textlänge auf 32767 Zeichen festgelegt.

Siehe auch „ text()“ und „ setMaxLength()“.

[virtual noexcept] QLineEdit::~QLineEdit()

Löscht die Zeile „edit“.

void QLineEdit::addAction(QAction *action, QLineEdit::ActionPosition position)

Fügt die „ action “ zur Liste der Aktionen unter position hinzu.

QAction *QLineEdit::addAction(const QIcon &icon, QLineEdit::ActionPosition position)

Erstellt eine neue Aktion mit dem angegebenen „ icon “ unter „ position “.

Dies ist eine überladene Funktion.

void QLineEdit::backspace()

Wenn kein Text markiert ist, wird das Zeichen links vom Textcursor gelöscht und der Cursor um eine Position nach links verschoben. Wenn Text markiert ist, wird der Cursor an den Anfang des markierten Textes verschoben und der markierte Text gelöscht.

Siehe auch ` del()`.

[override virtual protected] void QLineEdit::changeEvent(QEvent *ev)

Umsetzt: QWidget::changeEvent(QEvent *event).

[slot] void QLineEdit::clear()

Löscht den Inhalt des Eingabefelds.

Siehe auch setText() und insert().

QCompleter *QLineEdit::completer() const

Gibt das aktuelle „ QCompleter “ zurück, das Vervollständigungsvorschläge bereitstellt.

Siehe auch setCompleter().

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

Implementiert: ` QWidget::contextMenuEvent(QContextMenuEvent *event)`.

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

Wenn Sie nicht möchten, dass das Zeileneingabefeld über ein Kontextmenü verfügt, können Sie dessen ` contextMenuPolicy ` auf ` Qt::NoContextMenu` setzen. Um das Kontextmenü anzupassen, implementieren Sie diese Funktion neu. Um das Standard-Kontextmenü zu erweitern, implementieren Sie diese Funktion neu, rufen Sie ` createStandardContextMenu()` auf und erweitern Sie das zurückgegebene Menü.

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

Der Parameter ` event ` wird verwendet, um die Position zu ermitteln, an der sich der Mauszeiger zum Zeitpunkt der Ereignisauslösung befand.

Siehe auch ` setContextMenuPolicy()`.

[slot] void QLineEdit::copy() const

Kopiert den ausgewählten Text in die Zwischenablage, sofern vorhanden und sofern echoMode() den Wert „ Normal “ hat.

Siehe auch cut() und paste().

QMenu *QLineEdit::createStandardContextMenu()

Erstellt das Standardkontextmenü, das angezeigt wird, wenn der Benutzer mit der rechten Maustaste auf das Eingabefeld klickt. Es wird vom Standard-Handler „ contextMenuEvent()“ aufgerufen. Die Eigentumsrechte am Popup-Menü werden an den Aufrufer übertragen.

void QLineEdit::cursorBackward(bool mark, int steps = 1)

Bewegt den Cursor um steps Zeichen zurück. Ist mark wahr, wird jedes überfahrene Zeichen der Auswahl hinzugefügt. Ist mark falsch, wird die Auswahl gelöscht.

Siehe auch cursorForward().

void QLineEdit::cursorForward(bool mark, int steps = 1)

Bewegt den Cursor um steps Zeichen nach vorne. Wenn mark wahr ist, wird jedes überflogene Zeichen zur Auswahl hinzugefügt. Wenn mark falsch ist, wird die Auswahl gelöscht.

Siehe auch cursorBackward().

int QLineEdit::cursorPositionAt(const QPoint &pos)

Gibt die Cursorposition unter dem Punkt pos zurück.

[signal] void QLineEdit::cursorPositionChanged(int oldPos, int newPos)

Dieses Signal wird immer dann ausgelöst, wenn sich der Cursor bewegt. Die vorherige Position wird durch oldPos angegeben, die neue Position durch newPos.

Siehe auch setCursorPosition() und cursorPosition().

[protected] QRect QLineEdit::cursorRect() const

Gibt ein Rechteck zurück, das den Cursor des Zeileneingabefelds enthält.

void QLineEdit::cursorWordBackward(bool mark)

Bewegt den Cursor um ein Wort zurück. Wenn „ mark “ auf „true“ gesetzt ist, wird das Wort zusätzlich markiert.

Siehe auch ` cursorWordForward()`.

void QLineEdit::cursorWordForward(bool mark)

Bewegt den Cursor um ein Wort nach vorne. Wenn „ mark “ auf „true“ gesetzt ist, wird das Wort zusätzlich markiert.

Siehe auch cursorWordBackward().

[slot] void QLineEdit::cut()

Kopiert den ausgewählten Text in die Zwischenablage und löscht ihn, sofern vorhanden, und sofern ` echoMode()` den Wert ` Normal` zurückgibt.

Wenn der aktuelle Validator das Löschen des ausgewählten Textes nicht zulässt, kopiert `cut()` den Text, ohne ihn zu löschen.

Siehe auch copy(), paste() und setValidator().

void QLineEdit::del()

Wenn kein Text markiert ist, wird das Zeichen rechts vom Textcursor gelöscht. Wenn Text markiert ist, wird der Cursor an den Anfang des markierten Textes gesetzt und der markierte Text gelöscht.

Siehe auch „ backspace“ ().

void QLineEdit::deselect()

Hebt die Auswahl des markierten Textes auf.

Siehe auch setSelection() und selectAll().

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

Umsetzt: ` QWidget::dragEnterEvent` (`QDragEnterEvent *event`).

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

Implementiert: ` QWidget::dragLeaveEvent` (`QDragLeaveEvent *event`).

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

Umsetzt: QWidget::dragMoveEvent(QDragMoveEvent *event).

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

Implementiert: ` QWidget::dropEvent(QDropEvent *event)`.

[signal] void QLineEdit::editingFinished()

Dieses Signal wird ausgelöst, wenn die Return- oder Enter-Taste gedrückt wird oder wenn das Eingabefeld den Fokus verliert und sich sein Inhalt seit der letzten Auslösung dieses Signals geändert hat.

Hinweis: Wenn für das Zeilenbearbeitungsfeld ein „ validator “ () oder „ inputMask “ () festgelegt ist und die Eingabe-/Return-Taste gedrückt wird, wird das Signal „editingFinished()“ nur dann ausgesendet, wenn die Eingabe dem „ inputMask “ () entspricht und die Funktion „ validator “ () den Wert „ QValidator::Acceptable “ zurückgibt.

void QLineEdit::end(bool mark)

Bewegt den Textcursor an das Zeilenende, sofern er sich nicht bereits dort befindet. Ist „ mark “ auf „true“ gesetzt, wird der Text bis zur letzten Position markiert. Andernfalls wird der markierte Text beim Verschieben des Cursors die Markierung aufheben.

Siehe auch home().

[override virtual] bool QLineEdit::event(QEvent *e)

Umsetzt: ` QWidget::event(QEvent *event)`.

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

Implementiert: ` QWidget::focusInEvent` (`QFocusEvent *event`).

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

Implementiert: ` QWidget::focusOutEvent(QFocusEvent *event)`.

void QLineEdit::home(bool mark)

Bewegt den Textcursor an den Zeilenanfang, sofern er sich nicht bereits dort befindet. Ist „ mark “ auf „true“ gesetzt, wird der Text bis zur ersten Position markiert. Andernfalls wird der markierte Text beim Verschieben des Cursors die Markierung aufheben.

Siehe auch ` end()`.

[virtual protected] void QLineEdit::initStyleOption(QStyleOptionFrame *option) const

Initialisieren Sie ` option ` mit den Werten aus dieser Datei: QLineEdit. Diese Methode ist für Unterklassen nützlich, wenn diese ein ` QStyleOptionFrame` benötigen, aber nicht alle Informationen selbst eingeben möchten.

Siehe auch QStyleOption::initFrom().

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

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

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

Implementiert neu: ` QWidget::inputMethodQuery` (Qt::InputMethodQuery query) const.

[signal] void QLineEdit::inputRejected()

Dieses Signal wird ausgelöst, wenn der Benutzer eine Taste drückt, die nicht als gültige Eingabe angesehen wird. Dies ist beispielsweise der Fall, wenn die Betätigung einer Taste dazu führt, dass der Aufruf von ` validate()` des Validators den Wert ` Invalid` zurückgibt. Ein weiterer Fall tritt auf, wenn versucht wird, mehr Zeichen einzugeben, als die maximale Länge des Zeileneingabefelds zulässt.

Hinweis: Dieses Signal wird auch dann ausgelöst, wenn nur ein Teil des Textes akzeptiert wird. Dies ist beispielsweise der Fall, wenn eine maximale Länge festgelegt ist und der Text aus der Zwischenablage beim Einfügen diese maximale Länge überschreitet.

void QLineEdit::insert(const QString &newText)

Löscht den ausgewählten Text, fügt „ newText “ ein und überprüft die Gültigkeit des Ergebnisses. Ist das Ergebnis gültig, wird der neue Text als neuer Inhalt des Zeilenedits gesetzt.

Siehe auch „ setText()“ und „ clear()“.

[override virtual protected] void QLineEdit::keyPressEvent(QKeyEvent *event)

Implementiert: QWidget::keyPressEvent(QKeyEvent *event).

Wandelt den angegebenen Tastendruck event in eine Aktion für das Zeileneingabefeld um.

Wenn die Return- oder Enter-Taste gedrückt wird und der aktuelle Text gültig ist (oder vom Validator als gültig made valid werden kann), wird das Signal „ returnPressed()“ ausgelöst.

Siehe auch „ Default Key Bindings “.

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

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

[override virtual] QSize QLineEdit::minimumSizeHint() const

Implementiert eine Zugriffsfunktion für die Eigenschaft „ QWidget::minimumSizeHint “ neu.

Gibt die Mindestgröße für das Zeilenbearbeitungsfeld zurück.

Die zurückgegebene Breite reicht in der Regel für mindestens ein Zeichen aus.

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

Implementiert: ` QWidget::mouseDoubleClickEvent(QMouseEvent *event)`.

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

Implementiert: ` QWidget::mouseMoveEvent` (`QMouseEvent *event`).

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

Implementiert: ` QWidget::mousePressEvent(QMouseEvent *event)`.

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

Implementiert: ` QWidget::mouseReleaseEvent(QMouseEvent *event)`.

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

Umsetzt: ` QWidget::paintEvent` (`QPaintEvent *event`).

[slot] void QLineEdit::paste()

Fügt den Text aus der Zwischenablage an der Cursorposition ein und löscht dabei eventuell markierten Text, sofern das Zeilenfeld nicht auf „ read-only “ gesetzt ist.

Sollte das Endergebnis für die aktuelle „ validator “ ungültig sein, geschieht nichts.

Siehe auch „ copy()“ und „ cut()“.

[slot] void QLineEdit::redo()

Führt die letzte Operation erneut aus, wenn „redo“ auf „ available “ gesetzt ist.

[signal] void QLineEdit::returnPressed()

Dieses Signal wird ausgelöst, wenn die Return- oder Enter-Taste gedrückt wird.

Hinweis: Wenn für das Zeilenfeld die Eigenschaften „ validator “ () oder „ inputMask “ () festgelegt sind, wird das Signal „returnPressed()“ nur dann ausgelöst, wenn die Eingabe der Funktion „ inputMask “ () entspricht und die Funktion „ validator “ () den Wert „ QValidator::Acceptable “ zurückgibt.

[slot] void QLineEdit::selectAll()

Markiert den gesamten Text (hebt ihn hervor) und bewegt den Cursor an das Ende.

Hinweis: Dies ist nützlich, wenn ein Standardwert eingefügt wurde, da der ausgewählte Text gelöscht wird, wenn der Benutzer etwas eingibt, bevor er auf das Widget klickt.

Siehe auch setSelection() und deselect().

[signal] void QLineEdit::selectionChanged()

Dieses Signal wird immer dann ausgesendet, wenn sich die Auswahl ändert.

Siehe auch hasSelectedText() und selectedText().

int QLineEdit::selectionEnd() const

Gibt den Index des Zeichens unmittelbar nach der Auswahl im Zeileneingabefeld zurück (oder -1, wenn kein Text ausgewählt ist).

Siehe auch selectedText(), selectionStart() und selectionLength().

int QLineEdit::selectionLength() const

Gibt die Länge der Auswahl zurück.

Siehe auch selectedText(), selectionStart() und selectionEnd().

int QLineEdit::selectionStart() const

Gibt den Index des ersten ausgewählten Zeichens im Zeilenbearbeitungsfeld zurück (oder -1, wenn kein Text ausgewählt ist).

Siehe auch selectedText(), selectionEnd() und selectionLength().

void QLineEdit::setCompleter(QCompleter *c)

Legt fest, dass dieses Eingabefeld Autovervollständigungen aus dem Vervollständigungstool „ c “ bereitstellt. Der Vervollständigungsmodus wird mit der Funktion „ QCompleter::setCompletionMode()“ festgelegt.

Um ein „ QCompleter “ mit einem „ QValidator “ oder „ QLineEdit::inputMask “ zu verwenden, müssen Sie sicherstellen, dass das an „ QCompleter “ übergebene Modell gültige Einträge enthält. Mit dem „ QSortFilterProxyModel “ können Sie sicherstellen, dass das Modell von „ QCompleter “ nur gültige Einträge enthält.

Um den Completer zu entfernen und die Autovervollständigung zu deaktivieren, übergeben Sie einen „ nullptr “.

Siehe auch completer() und QCompleter.

void QLineEdit::setSelection(int start, int length)

Wählt Text ab der Position start und über eine Länge von length Zeichen aus. Negative Längen sind zulässig.

Siehe auch deselect(), selectAll() und selectedText().

void QLineEdit::setTextMargins(const QMargins &margins)

Legt die „ margins “ für den Text innerhalb des Rahmens fest.

Siehe auch textMargins().

void QLineEdit::setTextMargins(int left, int top, int right, int bottom)

Legt die Ränder um den Text innerhalb des Rahmens auf die Größen left, top, right und bottom fest.

Siehe auch textMargins().

void QLineEdit::setValidator(const QValidator *v)

Legt den Validator für die Werte des Zeilen-Editfelds auf „ v “ fest.

Die Signale „ returnPressed()“ und „ editingFinished()“ des Eingabefelds werden nur ausgegeben, wenn „ v “ den Inhalt des Eingabefelds als „ Acceptable “ validiert. Der Benutzer kann den Inhalt während der Bearbeitung auf einen beliebigen Wert unter „ Intermediate “ ändern, wird jedoch daran gehindert, den Text auf einen Wert zu bearbeiten, den „ v “ als „ Invalid “ validiert.

Auf diese Weise können Sie den Text einschränken, der nach Abschluss der Bearbeitung gespeichert wird, während den Benutzern genügend Freiheit bleibt, den Text von einem gültigen Zustand in einen anderen zu bearbeiten.

Um den aktuellen Eingabevalidator zu entfernen, übergeben Sie „ nullptr “. Die Standardeinstellung sieht keinen Eingabevalidator vor (jede Eingabe wird akzeptiert, sofern sie den Anforderungen von „ maxLength()“ entspricht).

Siehe auch validator(), hasAcceptableInput(), QIntValidator, QDoubleValidator und QRegularExpressionValidator.

[override virtual] QSize QLineEdit::sizeHint() const

Implementiert eine Zugriffsfunktion für die Eigenschaft „ QWidget::sizeHint “ neu.

Gibt eine empfohlene Größe für das Widget zurück.

Die zurückgegebene Breite in Pixeln reicht in der Regel für etwa 15 bis 20 Zeichen aus.

[signal] void QLineEdit::textChanged(const QString &text)

Dieses Signal wird immer dann ausgelöst, wenn sich der Text ändert. Das Argument „ text “ ist der neue Text.

Im Gegensatz zu ` textEdited()` wird dieses Signal auch ausgelöst, wenn der Text programmgesteuert geändert wird, beispielsweise durch den Aufruf von ` setText()`.

Hinweis: Notifier -Signal für die Eigenschaft „ text “.

[signal] void QLineEdit::textEdited(const QString &text)

Dieses Signal wird immer dann ausgelöst, wenn der Text bearbeitet wird. Das Argument „ text “ ist der neue Text.

Im Gegensatz zu ` textChanged()` wird dieses Signal nicht ausgelöst, wenn der Text programmgesteuert geändert wird, beispielsweise durch den Aufruf von ` setText()`.

QMargins QLineEdit::textMargins() const

Gibt die Textränder des Widgets zurück.

Siehe auch „ setTextMargins()“.

[override virtual] void QLineEdit::timerEvent(QTimerEvent *e)

Implementiert: ` QObject::timerEvent` (`QTimerEvent *event`).

[slot] void QLineEdit::undo()

Macht den letzten Vorgang rückgängig, sofern „undo“ auf „ available “ gesetzt ist. Hebt die aktuelle Auswahl auf und setzt den Auswahlstart auf die aktuelle Cursorposition.

const QValidator *QLineEdit::validator() const

Gibt einen Zeiger auf den aktuellen Eingabevalidator zurück oder „ nullptr “, falls kein Validator festgelegt wurde.

Siehe auch setValidator().

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