QLineEdit Class

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

Kopfzeile: #include <QLineEdit>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Vererbungen: 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

Reimplementierte ö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

Reimplementierte 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

Detaillierte Beschreibung

Eine Zeilenbearbeitung ermöglicht die Eingabe und Bearbeitung einer einzelnen Textzeile mit nützlichen Bearbeitungsfunktionen, einschließlich Rückgängig und Wiederholen, Ausschneiden und Einfügen sowie Ziehen und Ablegen.

Durch Ändern der echoMode() einer Zeilenbearbeitung kann diese auch als schreibgeschütztes Feld für Eingaben wie Passwörter verwendet werden.

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

Text einschränken

Verwenden Sie maxLength, um die maximal zulässige Länge eines Textes zu definieren. Sie können inputMask und setValidator() verwenden, um den Textinhalt weiter einzuschrä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 unterschiedlich sein kann, siehe EchoMode). Sie können den Text mit setSelection() oder selectAll() auswählen, und Sie können cut(), copy() und paste() die Auswahl treffen. Um den Text auszurichten, verwenden Sie setAlignment().

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

Wenn die Textbearbeitung beendet ist, entweder weil die Zeile den Fokus verloren hat oder Return/Enter gewählt wurde, wird das Signal editingFinished() ausgegeben.

Wenn der Fokus der Zeilenbearbeitung verloren geht, ohne dass der Text geändert wird, wird das Signal editingFinished() nicht ausgegeben.

Wenn ein Validator auf die Eingabezeile gesetzt ist, werden die Signale returnPressed()/editingFinished() nur ausgegeben, wenn der Validator QValidator::Acceptable zurückgibt.

Weitere Informationen über die vielen Möglichkeiten, wie QLineEdit verwendet werden kann, finden Sie unter Beispiele für Zeileneditierungen. Dort finden Sie auch eine Auswahl von Beispielen für Zeileneditierungen, die die Auswirkungen verschiedener Eigenschaften und Prüfer auf die vom Benutzer gelieferte Eingabe und Ausgabe zeigen.

Einen Rahmen setzen

Standardmäßig haben QLineEdits einen Rahmen, wie er in den Platform Style Guides festgelegt ist. Sie können den Rahmen ausschalten, indem Sie setFrame(false) aufrufen.

Standard-Tastenbelegungen

Die folgende Tabelle beschreibt die Standard-Tastenbelegungen.

Hinweis: Die Zeilenbearbeitung bietet auch ein Kontextmenü (das in der Regel durch einen Rechtsklick aufgerufen wird), das einige der unten aufgeführten Bearbeitungsoptionen enthält.

TastenkombinationAktion
Pfeil nach linksBewegt den Cursor um ein Zeichen nach links.
Umschalttaste+Pfeil nach linksVerschiebt und markiert den Text um ein Zeichen nach links.
Pfeil rechtsBewegt den Cursor um ein Zeichen nach rechts.
Umschalt+Pfeil rechtsVerschiebt den Text um ein Zeichen nach rechts und wählt ihn aus.
StartseiteBewegt 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.
LöschenLöscht das Zeichen rechts vom Cursor.
Strg+EntfLöscht das Wort rechts vom Cursor.
Strg+AWählt alles aus.
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 Bearbeitungszeile ein.
Umschalt+EinfügenFügt den Text aus der Zwischenablage in die Bearbeitungszeile 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+YMacht die zuletzt rückgängig gemachte Operation wieder rückgängig.

Jeder andere Tastendruck, der ein gültiges Zeichen darstellt, bewirkt, dass das Zeichen in die Bearbeitungszeile eingefügt wird.

Siehe auch QTextEdit, QLabel, QComboBox, und Zeilenbearbeitung Beispiel.

Dokumentation der Mitgliedstypen

enum QLineEdit::ActionPosition

Dieser Enum-Typ beschreibt, wie eine Zeilenbearbeitung die hinzuzufügenden Aktionswidgets anzeigen soll.

KonstanteWertBeschreibung
QLineEdit::LeadingPosition0Das Widget wird links vom Text angezeigt, wenn die Layoutrichtung Qt::LeftToRight verwendet wird, bzw. rechts, wenn Qt::RightToLeft verwendet wird.
QLineEdit::TrailingPosition1Das Widget wird rechts vom Text angezeigt, wenn die Layout-Richtung Qt::LeftToRight verwendet wird, bzw. links, wenn Qt::RightToLeft verwendet wird.

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

enum QLineEdit::EchoMode

Dieser Enum-Typ beschreibt, wie eine Zeilenbearbeitung ihren Inhalt anzeigen soll.

KonstanteWertBeschreibung
QLineEdit::Normal0Die Zeichen werden so angezeigt, wie sie eingegeben werden. Dies ist die Standardeinstellung.
QLineEdit::NoEcho1Nichts anzeigen. Dies kann für Kennwörter sinnvoll sein, bei denen sogar die Länge des Kennworts geheim gehalten werden soll.
QLineEdit::Password2Plattformabhängige Kennwortmaskenzeichen anstelle der tatsächlich eingegebenen Zeichen anzeigen.
QLineEdit::PasswordEchoOnEdit3Zeichen nur anzeigen, während sie eingegeben werden. Ansonsten werden die Zeichen wie bei Password angezeigt.

Siehe auch setEchoMode() und echoMode().

Eigenschaft Dokumentation

[read-only] acceptableInput : const bool

Diese Eigenschaft gibt an, ob die Eingabe die Anforderungen von inputMask und des Validators erfüllt.

Standardmäßig ist diese Eigenschaft true.

Zugriffsfunktionen:

bool hasAcceptableInput() const

Siehe auch setInputMask() und setValidator().

alignment : Qt::Alignment

Diese Eigenschaft bestimmt die Ausrichtung der Zeilenbearbeitung.

Sowohl die horizontale als auch die vertikale Ausrichtung ist hier erlaubt, 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 die Zeilenbearbeitung eine Schaltfläche "Löschen" anzeigt, wenn sie nicht leer ist.

Wenn sie aktiviert ist, zeigt die Eingabezeile eine nachgestellte Schaltfläche clear an, wenn sie Text enthält. Andernfalls zeigt die Zeilenbearbeitung keine Schaltfläche clear an (Standardeinstellung).

Zugriffsfunktionen:

bool isClearButtonEnabled() const
void setClearButtonEnabled(bool enable)

Siehe auch addAction() und removeAction().

cursorMoveStyle : Qt::CursorMoveStyle

Diese Eigenschaft enthält den Bewegungsstil des Cursors in dieser Zeilenbearbeitung.

Wenn diese Eigenschaft auf Qt::VisualMoveStyle gesetzt ist, verwendet die Zeilenbearbeitung einen visuellen Bewegungsstil. Wenn Sie die linke Pfeiltaste drücken, bewegt sich der Cursor immer nach links, unabhängig von der Schreibrichtung des Textes. Das gleiche Verhalten gilt für die rechte Pfeiltaste.

Wenn die Eigenschaft auf Qt::LogicalMoveStyle (Standardeinstellung) gesetzt ist, erhöht die Verwendung der linken Pfeiltaste innerhalb eines Textblocks von links nach rechts (LTR) die Cursorposition, während die Verwendung der rechten Pfeiltaste die Cursorposition verringert. Ist der Textblock von rechts nach links (RTL), verhält es sich umgekehrt.

Zugriffsfunktionen:

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

cursorPosition : int

Diese Eigenschaft enthält die aktuelle Cursorposition für diese Zeilenbearbeitung.

Die Einstellung der Cursorposition bewirkt gegebenenfalls eine Neuzeichnung.

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

Zugriffsfunktionen:

int cursorPosition() const
void setCursorPosition(int)

[read-only] displayText : const QString

Diese Eigenschaft enthält den angezeigten Text.

Wenn echoMode Normal ist, wird dasselbe zurückgegeben wie bei text(). Wenn EchoMode Password oder PasswordEchoOnEdit ist, wird eine Zeichenkette mit plattformabhängigen Passwortmaskenzeichen zurückgegeben (z. B. "******"). Wenn EchoMode gleich NoEcho ist, wird eine leere Zeichenfolge zurückgegeben.

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

Zugriffsfunktionen:

QString displayText() const

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

dragEnabled : bool

Diese Eigenschaft legt fest, ob die Zeilenbearbeitung ein Ziehen auslöst, wenn der Benutzer die Maus auf einem ausgewählten Text drückt und bewegt.

Das Ziehen ist standardmäßig deaktiviert.

Zugriffsfunktionen:

bool dragEnabled() const
void setDragEnabled(bool b)

echoMode : EchoMode

Diese Eigenschaft enthält den Echo-Modus der Zeilenbearbeitung.

Der Echomodus bestimmt, wie der in die Zeilenbearbeitung eingegebene Text dem Benutzer angezeigt (oder als Echo wiedergegeben) wird.

Die gebräuchlichste Einstellung ist Normal, bei der der vom Benutzer eingegebene Text wortwörtlich angezeigt wird. QLineEdit unterstützt auch Modi, die es erlauben, den eingegebenen Text zu unterdrücken oder zu verbergen: Dazu gehören NoEcho, Password und PasswordEchoOnEdit.

Die Anzeige des Widgets und die Möglichkeit, den Text zu kopieren oder zu ziehen, werden durch diese Einstellung beeinflusst.

Standardmäßig ist diese Eigenschaft auf Normal eingestellt.

Zugriffsfunktionen:

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

Siehe auch EchoMode und displayText().

frame : bool

Diese Eigenschaft legt fest, ob die Linienbearbeitung mit einem Rahmen gezeichnet werden soll.

Wenn sie aktiviert ist (die Voreinstellung), zeichnet sich die Linie selbst innerhalb eines Rahmens. Andernfalls wird die Linie ohne Rahmen gezeichnet.

Zugriffsfunktionen:

bool hasFrame() const
void setFrame(bool)

[read-only] hasSelectedText : const bool

Diese Eigenschaft gibt an, ob ein Text ausgewählt wurde.

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

Standardmäßig ist diese Eigenschaft false.

Zugriffsfunktionen:

bool hasSelectedText() const

Siehe auch selectedText().

inputMask : QString

Diese Eigenschaft enthält die Eingabemaske für die Validierung.

Setzt die Validierungsmaske von QLineEdit. Validatoren können anstelle von oder in Verbindung mit Masken verwendet werden; siehe setValidator(). Der Standardwert ist ein leerer String, was bedeutet, dass keine Eingabemaske verwendet wird.

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

Die Eingabemaske ist eine Eingabevorlagenzeichenkette. Sie kann die folgenden Elemente enthalten:

Masken-ZeichenDefiniert die Category von Eingabezeichen, die an dieser Stelle als gültig angesehen werden.
Meta-ZeichenVerschiedene spezielle Bedeutungen (siehe Details unten).
TrennzeichenAlle anderen Zeichen werden als unveränderliche Trennzeichen betrachtet.

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

Maske ZeichenBedeutung
AZeichen der Kategorie Buchstabe erforderlich, z. B. A-Z, a-z.
aZeichen der Kategorie Buchstabe erlaubt, aber nicht erforderlich.
NZeichen der Kategorie Buchstabe oder Zahl erforderlich, z. B. A-Z, a-z, 0-9.
nZeichen der Kategorie "Buchstabe" oder "Zahl" zulässig, aber nicht erforderlich.
XJedes nicht leere Zeichen ist erforderlich.
xJedes beliebige Zeichen, das nicht leer ist, ist erlaubt, aber nicht erforderlich.
9Zeichen der Kategorie "Zahl" erforderlich, z. B. 0-9.
0Zeichen der Kategorie "Zahl" zulässig, aber nicht erforderlich.
DZeichen der Kategorie "Zahl" und größer als Null erforderlich, z. B. 1-9.
dZeichen der Kategorie "Zahl" und größer als Null erlaubt, aber nicht erforderlich, z. B. 1-9.
#Zeichen der Kategorie Zahl oder Plus/Minus-Zeichen zulässig, aber nicht erforderlich.
HHexadezimales Zeichen erforderlich. A-F, a-f, 0-9.
hHexadezimales Zeichen zulässig, aber nicht erforderlich.
BBinäres Zeichen erforderlich. 0-1.
bBinäres Zeichen zulässig, aber nicht erforderlich.
Meta-ZeichenBedeutung
>Alle folgenden alphabetischen Zeichen werden groß geschrieben.
<Alle folgenden alphabetischen Zeichen werden kleingeschrieben.
!Groß-/Kleinschreibung ausschalten.
;cBeendet die Eingabemaske und setzt das Leerzeichen auf c.
[ ] { }Reserviert.
\Verwenden Sie \, um die oben aufgeführten Sonderzeichen zu entschlüsseln und als Trennzeichen zu verwenden.

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

Wenn eine Eingabemaske gesetzt ist, gibt die Methode text() eine geänderte Kopie des Inhalts der Eingabezeile zurück, bei der alle Leerzeichen entfernt worden sind. Der unveränderte Inhalt kann mit displayText() gelesen werden.

Die Methode hasAcceptableInput() gibt false zurück, wenn der aktuelle Inhalt der Eingabezeile 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 sind space
>AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;#Lizenznummer; Leerzeichen sind # und alle (alphabetischen) Zeichen werden in Großbuchstaben umgewandelt.

Um eine Bereichskontrolle zu erhalten (z. B. für eine IP-Adresse), 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 enthält die maximal zulässige Länge des Textes.

Wenn der Text zu lang ist, wird er an dieser Grenze abgeschnitten.

Wenn der Text abgeschnitten wird, wird der markierte Text abgewählt, die Cursorposition wird auf 0 gesetzt und der erste Teil der Zeichenkette wird angezeigt.

Wenn die Zeilenbearbeitung eine Eingabemaske hat, definiert die Maske die maximale Länge der Zeichenfolge.

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

Zugriffsfunktionen:

int maxLength() const
void setMaxLength(int)

Siehe auch inputMask.

modified : bool

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

Das Modified-Flag wird nie von QLineEdit gelesen; es hat den Standardwert false und wird auf true geändert, wenn der Benutzer den Inhalt der Zeile ändert.

Dies ist nützlich für Dinge, die einen Standardwert bereitstellen müssen, aber nicht von Anfang an wissen, was der Standardwert sein soll (zum Beispiel hängt er von anderen Feldern im Formular ab). Starten Sie die Eingabezeile ohne die beste Voreinstellung, und wenn die Voreinstellung bekannt ist und modified() false zurückgibt (der Benutzer hat keinen Text eingegeben), fügen Sie den Standardwert ein.

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

Zugriffsfunktionen:

bool isModified() const
void setModified(bool)

placeholderText : QString

Diese Eigenschaft enthält den Platzhaltertext für die Zeilenbearbeitung.

Wenn diese Eigenschaft eingestellt wird, zeigt die Zeilenbearbeitung einen ausgegrauten Platzhaltertext an, solange die Zeilenbearbeitung leer ist.

Normalerweise zeigt eine leere Eingabezeile den Platzhaltertext an, auch wenn sie den Fokus hat. Wenn der Inhalt jedoch horizontal zentriert ist, wird der Platzhaltertext nicht unter dem Cursor angezeigt, wenn die Eingabezeile 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 die Zeile schreibgeschützt ist.

Im schreibgeschützten Modus kann der Benutzer den Text in die Zwischenablage kopieren oder ihn per Drag & Drop verschieben (wenn echoMode() Normal ist), aber nicht bearbeiten.

QLineEdit zeigt im schreibgeschützten Modus keinen Cursor an.

Standardmäßig ist diese Eigenschaft auf false eingestellt.

Zugriffsfunktionen:

bool isReadOnly() const
void setReadOnly(bool)

Siehe auch setEnabled().

[read-only] redoAvailable : const bool

Diese Eigenschaft gibt an, ob Wiederherstellen verfügbar ist.

Die Wiederholung wird verfügbar, wenn der Benutzer eine oder mehrere Rückgängigmachungen für den Text in der Bearbeitungszeile durchgeführt hat.

Standardmäßig ist diese Eigenschaft false.

Zugriffsfunktionen:

bool isRedoAvailable() const

[read-only] selectedText : const QString

Diese Eigenschaft enthält den ausgewählten Text.

Gibt es keinen ausgewählten Text, ist der Wert dieser Eigenschaft eine leere Zeichenkette.

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

Zugriffsfunktionen:

QString selectedText() const

Siehe auch hasSelectedText().

text : QString

Diese Eigenschaft enthält den Text der Zeilenbearbeitung.

Das Setzen dieser Eigenschaft hebt die Auswahl auf, löscht die Undo/Redo-Historie, bewegt den Cursor an das Ende der Zeile und setzt die Eigenschaft modified auf false zurück. Der Text wird beim Einfügen mit setText() nicht überprüft.

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 &)

Melder-Signal:

void textChanged(const QString &text)

Siehe auch insert() und clear().

[read-only] undoAvailable : const bool

Diese Eigenschaft gibt an, ob die Rückgängigmachung verfügbar ist.

Die Rückgängigmachung wird verfügbar, sobald der Benutzer den Text in der Bearbeitungszeile geändert hat.

Standardmäßig ist diese Eigenschaft false.

Zugriffsfunktionen:

bool isUndoAvailable() const

Dokumentation der Mitgliedsfunktionen

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

Konstruiert eine Zeilenbearbeitung ohne Text.

Die maximale Textlänge ist auf 32767 Zeichen festgelegt.

Das Argument parent wird an den Konstruktor QWidget gesendet.

Siehe auch setText() und setMaxLength().

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

Konstruiert eine Eingabezeile, die den Text contents als Kind von parent enthält.

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

Siehe auch text() und setMaxLength().

[virtual noexcept] QLineEdit::~QLineEdit()

Zerstört die Zeilenbearbeitung.

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

Fügt die action zur Liste der Aktionen auf der position hinzu.

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

Dies ist eine überladene Funktion.

Erzeugt eine neue Aktion mit der angegebenen icon auf der position.

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 bewegt und der markierte Text gelöscht.

Siehe auch del().

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

Reimplements: QWidget::changeEvent(QEvent *Event).

[slot] void QLineEdit::clear()

Löscht den Inhalt der Eingabezeile.

Siehe auch setText() und insert().

QCompleter *QLineEdit::completer() const

Gibt die aktuelle QCompleter zurück, die Vervollständigungen anbietet.

Siehe auch setCompleter().

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

Reimplements: QWidget::contextMenuEvent(QContextMenuEvent *event).

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

Wenn Sie nicht wollen, dass die Bearbeitungszeile ein Kontextmenü hat, können Sie 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 createStandardContextMenu() auf und erweitern 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 befand, als das Ereignis erzeugt wurde.

Siehe auch setContextMenuPolicy().

[slot] void QLineEdit::copy() const

Kopiert den markierten Text in die Zwischenablage, sofern vorhanden, und wenn echoMode() Normal ist.

Siehe auch cut() und paste().

QMenu *QLineEdit::createStandardContextMenu()

Erzeugt das Standard-Kontextmenü, das angezeigt wird, wenn der Benutzer mit der rechten Maustaste auf die Bearbeitungszeile klickt. Es wird vom Standardhandler contextMenuEvent() aufgerufen. Das Eigentum an dem Popup-Menü wird an den Aufrufer übertragen.

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

Bewegt den Cursor zurück steps Zeichen. Wenn mark wahr ist, wird jedes überstrichene Zeichen zur Auswahl hinzugefügt. Wenn mark falsch ist, wird die Auswahl gelöscht.

Siehe auch cursorForward().

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

Bewegt den Cursor vorwärts steps Zeichen. Wenn mark wahr ist, wird jedes Zeichen, über das der Cursor bewegt wird, 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 ausgegeben, 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 Zeilenbearbeitungscursor einschließt.

void QLineEdit::cursorWordBackward(bool mark)

Bewegt den Cursor um ein Wort nach hinten. Wenn mark wahr ist, wird das Wort auch ausgewählt.

Siehe auch cursorWordForward().

void QLineEdit::cursorWordForward(bool mark)

Bewegt den Cursor ein Wort weiter. Wenn mark wahr ist, wird das Wort auch ausgewählt.

Siehe auch cursorWordBackward().

[slot] void QLineEdit::cut()

Kopiert den markierten Text in die Zwischenablage und löscht ihn, wenn er vorhanden ist und wenn echoMode() Normal ist.

Wenn der aktuelle Validator das Löschen des markierten Textes nicht zulässt, kopiert cut() ohne 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 Markierung des markierten Textes auf.

Siehe auch setSelection() und selectAll().

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

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

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

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

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

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

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

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

[signal] void QLineEdit::editingFinished()

Dieses Signal wird ausgegeben, wenn die Return- oder Enter-Taste verwendet wird, oder wenn die Eingabezeile den Fokus verliert und ihr Inhalt seit der letzten Ausgabe dieses Signals geändert wurde.

Hinweis: Wenn ein validator() oder inputMask() auf die Eingabezeile gesetzt ist und Enter/Return verwendet wird, wird das Signal editingFinished() nur ausgegeben, wenn die Eingabe auf inputMask() folgt und validator() QValidator::Acceptable zurückgibt.

void QLineEdit::end(bool mark)

Bewegt den Textcursor an das Ende der Zeile, sofern er sich nicht bereits dort befindet. Wenn mark wahr ist, wird der Text zur letzten Position hin markiert. Andernfalls wird jeder markierte Text abgewählt, wenn der Cursor verschoben wird.

Siehe auch home().

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

Reimplements: QWidget::event(QEvent *Event).

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

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

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

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

void QLineEdit::home(bool mark)

Verschiebt den Textcursor an den Anfang der Zeile, sofern er sich nicht bereits dort befindet. Wenn mark wahr ist, wird der Text an der ersten Position markiert. Andernfalls wird jeder markierte Text abgewählt, wenn der Cursor verschoben wird.

Siehe auch end().

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

Initialisieren Sie option mit den Werten aus dieser QLineEdit. Diese Methode ist nützlich für Unterklassen, wenn sie eine QStyleOptionFrame benötigen, aber nicht alle Informationen selbst eingeben wollen.

Siehe auch QStyleOption::initFrom().

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

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

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

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

[signal] void QLineEdit::inputRejected()

Dieses Signal wird ausgegeben, wenn der Benutzer eine Taste verwendet, die nicht als gültige Eingabe betrachtet wird. Zum Beispiel, wenn die Verwendung einer Taste dazu führt, dass der Aufruf validate() eines Validators Invalid zurückgibt. Ein weiterer Fall ist der Versuch, mehr Zeichen als die maximale Länge der Eingabezeile einzugeben.

Hinweis: Dieses Signal wird auch dann ausgegeben, wenn nur ein Teil des Textes akzeptiert wird. Zum Beispiel, wenn eine maximale Länge festgelegt ist und der Text in der Zwischenablage länger als die maximale Länge ist, wenn er eingefügt wird.

void QLineEdit::insert(const QString &newText)

Löscht den markierten Text, fügt newText ein und überprüft das Ergebnis. Wenn es gültig ist, wird der neue Text als neuer Inhalt der Bearbeitungszeile festgelegt.

Siehe auch setText() und clear().

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

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

Konvertiert den angegebenen Tastendruck event in eine Zeilenbearbeitungsaktion.

Wenn Return oder Enter verwendet wird und der aktuelle Text gültig ist (oder vom Validator made valid werden kann), wird das Signal returnPressed() ausgegeben.

Siehe auch Default Key Bindings.

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

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

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

Reimplantiert eine Zugriffsfunktion für die Eigenschaft: QWidget::minimumSizeHint.

Gibt eine Mindestgröße für die Zeilenbearbeitung zurück.

Die zurückgegebene Breite reicht normalerweise für mindestens ein Zeichen aus.

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

Reimplements: QWidget::mouseDoubleClickEvent(QMouseEvent *event).

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

Reimplements: QWidget::mouseMoveEvent(QMouseEvent *event).

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

Reimplements: QWidget::mousePressEvent(QMouseEvent *event).

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

Reimplements: QWidget::mouseReleaseEvent(QMouseEvent *event).

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

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

[slot] void QLineEdit::paste()

Fügt den Text aus der Zwischenablage an der Cursorposition ein und löscht den markierten Text, sofern die Zeilenbearbeitung nicht read-only ist.

Wenn das Endergebnis für die aktuelle validator ungültig wäre, geschieht nichts.

Siehe auch copy() und cut().

[slot] void QLineEdit::redo()

Wiederholt den letzten Vorgang, wenn redo available ist.

[signal] void QLineEdit::returnPressed()

Dieses Signal wird ausgegeben, wenn die Return- oder Enter-Taste verwendet wird.

Hinweis: Wenn in der Eingabezeile ein validator() oder inputMask() gesetzt ist, wird das returnPressed()-Signal nur ausgegeben, wenn die Eingabe auf inputMask() folgt und validator() 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, denn wenn der Benutzer etwas eingibt, bevor er auf das Widget klickt, wird der ausgewählte Text gelöscht.

Siehe auch setSelection() und deselect().

[signal] void QLineEdit::selectionChanged()

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

Siehe auch hasSelectedText() und selectedText().

int QLineEdit::selectionEnd() const

Gibt den Index des Zeichens direkt nach der Auswahl in der Zeilenbearbeitung 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 in der Zeilenbearbeitung zurück (oder -1, wenn kein Text ausgewählt ist).

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

void QLineEdit::setCompleter(QCompleter *c)

Stellt diese Zeilenbearbeitung so ein, dass sie automatische Vervollständigungen durch den Vervollständiger c bietet. Der Vervollständigungsmodus wird mit QCompleter::setCompletionMode() eingestellt.

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. Sie können die QSortFilterProxyModel verwenden, um sicherzustellen, dass das Modell von QCompleter nur gültige Einträge enthält.

Um die Vervollständigung zu entfernen und die automatische Vervollständigung zu deaktivieren, übergeben Sie ein nullptr.

Siehe auch completer() und QCompleter.

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

Wählt Text ab Position start und für length aus. Negative Längen sind erlaubt.

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

void QLineEdit::setTextMargins(const QMargins &margins)

Legt die margins um den Text innerhalb des Rahmens fest.

Siehe auch textMargins().

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

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

Siehe auch textMargins().

void QLineEdit::setValidator(const QValidator *v)

Setzt den Validator für die Werte von line edit auf v.

Die Signale returnPressed() und editingFinished() der Zeile edit werden nur ausgegeben, wenn v den Inhalt der Zeile edit als Acceptable validiert. Der Benutzer kann den Inhalt während der Bearbeitung auf einen beliebigen Intermediate Wert ändern, wird aber daran gehindert, den Text auf einen Wert zu ändern, den v als Invalid validiert.

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

Um den aktuellen Eingabevalidator zu entfernen, geben Sie nullptr ein. In der Grundeinstellung gibt es keine Eingabeüberprüfung (jede Eingabe wird bis zu maxLength() akzeptiert).

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

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

Reimplantiert eine Zugriffsfunktion für die Eigenschaft: QWidget::sizeHint.

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

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

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

Dieses Signal wird ausgegeben, wenn sich der Text ändert. Das Argument text ist der neue Text.

Im Gegensatz zu textEdited() wird dieses Signal auch ausgegeben, wenn der Text programmatisch geändert wird, z. B. durch den Aufruf von setText().

Hinweis: Meldesignal für die Eigenschaft text.

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

Dieses Signal wird ausgegeben, wenn der Text bearbeitet wird. Das Argument text ist der neue Text.

Im Gegensatz zu textChanged() wird dieses Signal nicht ausgegeben, wenn der Text programmatisch geändert wird, z. B. 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)

Reimplements: QObject::timerEvent(QTimerEvent *event).

[slot] void QLineEdit::undo()

Macht den letzten Vorgang rückgängig, wenn Rückgängig available ist. Deselektiert die aktuelle Auswahl und aktualisiert den Auswahlanfang auf die aktuelle Cursorposition.

const QValidator *QLineEdit::validator() const

Gibt einen Zeiger auf den aktuellen Eingabevalidator zurück, oder nullptr, wenn kein Validator gesetzt wurde.

Siehe auch setValidator().

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