KeyEvent QML Type (Uncreatable)
Liefert Informationen zu einem Schlüsselereignis. Mehr...
| Import Statement: | import QtQuick |
Hinweis: Dies ist ein nicht erstellbarer Typ. Er kann in QML nicht instanziiert werden.
Eigenschaften
- accepted : bool
- count : int
- isAutoRepeat : bool
- key : int
- modifiers : int
- nativeScanCode : quint32
- text : string
Methoden
- bool matches(StandardKey matchKey)
Ausführliche Beschreibung
Beispielsweise ändert der folgende Code die Eigenschaft „state“ des Elements, wenn die Eingabetaste gedrückt wird:
Item {
focus: true
Keys.onPressed: (event)=> { if (event.key == Qt.Key_Enter) state = 'ShowDetails'; }
}Dokumentation zur Eigenschaft
accepted : bool
Wenn „ accepted “ auf „true“ gesetzt wird, wird verhindert, dass das Tastenereignis an das übergeordnete Element des Elements weitergeleitet wird.
Im Allgemeinen gilt: Wenn das Element auf das Tastenereignis reagiert, sollte es akzeptiert werden, damit übergeordnete Elemente nicht ebenfalls auf dasselbe Ereignis reagieren.
count : int [read-only]
Diese Eigenschaft enthält die Anzahl der Schlüssel, die an diesem Ereignis beteiligt sind. Wenn „ KeyEvent::text “ nicht leer ist, entspricht dies einfach der Länge der Zeichenkette.
isAutoRepeat : bool [read-only]
Diese Eigenschaft gilt unabhängig davon, ob dieses Ereignis von einer sich automatisch wiederholenden Taste stammt.
key : int [read-only]
Diese Eigenschaft enthält den Code der Taste, die gedrückt oder losgelassen wurde.
Eine Liste der Tastaturcodes finden Sie unter Qt.Key. Diese Codes sind unabhängig vom zugrunde liegenden Fenstersystem. Beachten Sie, dass diese Funktion nicht zwischen Groß- und Kleinbuchstaben unterscheidet; verwenden Sie hierfür die Eigenschaft „ text “.
Ein Wert von entweder 0 oder Qt.Key_Unknown bedeutet, dass das Ereignis nicht das Ergebnis einer bekannten Taste ist; es kann beispielsweise das Ergebnis einer Kompositionssequenz, eines Tastaturmakros oder einer Tastenereigniskomprimierung sein.
modifiers : int [read-only]
Diese Eigenschaft enthält die Tastatur-Modifikator-Flags, die unmittelbar vor dem Eintreten des Ereignisses vorhanden waren.
Sie enthält eine bitweise Kombination aus numerischen Werten (genau wie in „ Qt::KeyboardModifier “):
| Konstante | Beschreibung |
|---|---|
Qt.NoModifier | Es ist keine Modifikatortaste gedrückt. |
Qt.ShiftModifier | Eine Umschalttaste auf der Tastatur ist gedrückt. |
Qt.ControlModifier | Eine Strg-Taste auf der Tastatur ist gedrückt. |
Qt.AltModifier | Eine Alt-Taste auf der Tastatur ist gedrückt. |
Qt.MetaModifier | Eine Meta-Taste auf der Tastatur wird gedrückt. |
Qt.KeypadModifier | Eine Taste des Ziffernblocks wird gedrückt. |
Qt.GroupSwitchModifier | Nur X11. Eine Mode_switch-Taste auf der Tastatur wird gedrückt. |
Beispiel: Um auf die Tastenkombination Umschalt + Eingabetaste zu reagieren:
Item {
focus: true
Keys.onPressed: (event)=> {
if ((event.key == Qt.Key_Enter) && (event.modifiers & Qt.ShiftModifier))
doSomething();
}
}nativeScanCode : quint32 [read-only]
Diese Eigenschaft enthält den nativen Scancode der gedrückten Taste. Sie wird unverändert von „ QKeyEvent “ weitergegeben.
Siehe auch QKeyEvent::nativeScanCode().
text : string [read-only]
Diese Eigenschaft enthält den Unicode-Text, den die Taste generiert hat. Der zurückgegebene Text kann eine leere Zeichenkette sein, wenn Modifikatortasten wie Umschalt, Strg, Alt und Meta gedrückt oder losgelassen werden. In solchen Fällen enthält „ key “ einen gültigen Wert
Methodendokumentation
bool matches(StandardKey matchKey)
Gibt „ true “ zurück, wenn das Tastenereignis dem angegebenen Standard „ matchKey “ entspricht; andernfalls wird „ false “ zurückgegeben.
Item {
focus: true
Keys.onPressed: (event)=> {
if (event.matches(StandardKey.Undo))
myModel.undo();
else if (event.matches(StandardKey.Redo))
myModel.redo();
}
}Siehe auch „ QKeySequence::StandardKey “.
© 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.