Auf dieser Seite

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

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 “):

KonstanteBeschreibung
Qt.NoModifierEs ist keine Modifikatortaste gedrückt.
Qt.ShiftModifierEine Umschalttaste auf der Tastatur ist gedrückt.
Qt.ControlModifierEine Strg-Taste auf der Tastatur ist gedrückt.
Qt.AltModifierEine Alt-Taste auf der Tastatur ist gedrückt.
Qt.MetaModifierEine Meta-Taste auf der Tastatur wird gedrückt.
Qt.KeypadModifierEine Taste des Ziffernblocks wird gedrückt.
Qt.GroupSwitchModifierNur 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.