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

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.
| Tastenbefehl | Aktion |
|---|---|
| Pfeil nach links | Bewegt den Cursor um ein Zeichen nach links. |
| Umschalt+Pfeil nach links | Bewegt den Cursor um ein Zeichen nach links und markiert den Text. |
| Pfeil nach rechts | Bewegt den Cursor um ein Zeichen nach rechts. |
| Umschalt+Pfeil nach rechts | Verschiebt und markiert den Text um ein Zeichen nach rechts. |
| Pos1 | Bewegt den Cursor an den Anfang der Zeile. |
| Ende | Bewegt den Cursor an das Ende der Zeile. |
| Rücktaste | Löscht das Zeichen links vom Cursor. |
| Strg+Rücktaste | Löscht das Wort links vom Cursor. |
| Entf | Löscht das Zeichen rechts vom Cursor. |
| Strg+Entf | Löscht das Wort rechts vom Cursor. |
| Strg+A | Alles auswählen. |
| Strg+C | Kopiert den ausgewählten Text in die Zwischenablage. |
| Strg+Einfg | Kopiert den ausgewählten Text in die Zwischenablage. |
| Strg+K | Löscht bis zum Zeilenende. |
| Strg+V | Fügt den Text aus der Zwischenablage in das Eingabefeld ein. |
| Umschalt+Einfügen | Fügt den Text aus der Zwischenablage in das Bearbeitungsfeld ein. |
| Strg+X | Löscht den ausgewählten Text und kopiert ihn in die Zwischenablage. |
| Umschalt+Entf | Löscht den ausgewählten Text und kopiert ihn in die Zwischenablage. |
| Strg+Z | Macht den letzten Vorgang rückgängig. |
| Strg+Y | Wiederholt 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.
| Konstante | Wert | Beschreibung |
|---|---|---|
QLineEdit::LeadingPosition | 0 | Das Widget wird bei Verwendung der Layoutrichtung „ Qt::LeftToRight “ links vom Text und bei Verwendung von „ Qt::RightToLeft “ rechts davon angezeigt. |
QLineEdit::TrailingPosition | 1 | Das 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.
| Konstante | Wert | Beschreibung |
|---|---|---|
QLineEdit::Normal | 0 | Zeigt Zeichen während der Eingabe an. Dies ist die Standardeinstellung. |
QLineEdit::NoEcho | 1 | Nichts anzeigen. Dies kann bei Passwörtern sinnvoll sein, bei denen sogar die Länge des Passworts geheim gehalten werden soll. |
QLineEdit::Password | 2 | Zeigt plattformabhängige Passwortmaskenzeichen anstelle der tatsächlich eingegebenen Zeichen an. |
QLineEdit::PasswordEchoOnEdit | 3 | Zeigt 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:
| Maskenzeichen | Definieren die Category der Eingabezeichen, die an dieser Position als gültig gelten. |
| Metazeichen | Verschiedene Sonderbedeutungen (siehe Details unten). |
| Trennzeichen | Alle anderen Zeichen gelten als unveränderliche Trennzeichen. |
Die folgende Tabelle zeigt die Masken- und Metazeichen, die in einer Eingabemaske verwendet werden können.
| Maskenzeichen | Bedeutung |
|---|---|
A | Zeichen der Kategorie „Buchstaben“ erforderlich, z. B. A–Z, a–z. |
a | Zeichen der Kategorie „Buchstabe“, das zulässig, aber nicht erforderlich ist. |
N | Zeichen der Kategorie „Buchstabe“ oder „Ziffer“, das erforderlich ist, z. B. A–Z, a–z, 0–9. |
n | Zeichen der Kategorie „Buchstaben“ oder „Zahlen“ sind zulässig, aber nicht erforderlich. |
X | Beliebiges Zeichen (keine Leerstelle) erforderlich. |
x | Beliebiges Zeichen (außer Leerzeichen) ist zulässig, aber nicht erforderlich. |
9 | Zeichen der Kategorie „Ziffer“ erforderlich, z. B. 0–9. |
0 | Zeichen der Kategorie „Zahlen“ sind zulässig, aber nicht erforderlich. |
D | Ein Zeichen der Kategorie „Zahl“, das größer als Null ist, ist erforderlich, z. B. 1–9. |
d | Ein 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. |
H | Zeichen der Kategorie „Hexadezimal“ erforderlich. A–F, a–f, 0–9. |
h | Zeichen aus dem Hexadezimalbereich erlaubt, aber nicht erforderlich. |
B | Binärzeichen erforderlich. 0–1. |
b | Binärzeichen erlaubt, aber nicht erforderlich. |
| Metazeichen | Bedeutung |
> | Alle nachfolgenden Buchstaben werden in Großbuchstaben umgewandelt. |
< | Alle folgenden Buchstaben werden in Kleinbuchstaben umgewandelt. |
! | Groß-/Kleinschreibung deaktivieren. |
;c | Beendet 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:
| Maske | Hinweise |
|---|---|
000.000.000.000;_ | IP-Adresse; Leerzeichen sind „ _ “. |
HH:HH:HH:HH:HH:HH;_ | MAC-Adresse |
0000-00-00 | ISO-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.
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.