KeyNavigation QML Type
Unterstützt die Tastennavigation mit Pfeiltasten. Mehr...
Import Statement: | import QtQuick |
Angehängte Eigenschaften
Ausführliche Beschreibung
Tastenbasierte Benutzeroberflächen erlauben in der Regel die Verwendung von Pfeiltasten, um zwischen fokussierbaren Elementen zu navigieren. Die angehängte Eigenschaft KeyNavigation ermöglicht dieses Verhalten, indem sie eine bequeme Möglichkeit bietet, das Element anzugeben, das den Fokus erhalten soll, wenn eine Pfeil- oder Tabulator-Taste gedrückt wird.
Das folgende Beispiel zeigt die Tastennavigation für ein 2x2-Gitter von Elementen:
import QtQuick Grid { width: 100; height: 100 columns: 2 Rectangle { id: topLeft width: 50; height: 50 color: focus ? "red" : "lightgray" focus: true KeyNavigation.right: topRight KeyNavigation.down: bottomLeft } Rectangle { id: topRight width: 50; height: 50 color: focus ? "red" : "lightgray" KeyNavigation.left: topLeft KeyNavigation.down: bottomRight } Rectangle { id: bottomLeft width: 50; height: 50 color: focus ? "red" : "lightgray" KeyNavigation.right: bottomRight KeyNavigation.up: topLeft } Rectangle { id: bottomRight width: 50; height: 50 color: focus ? "red" : "lightgray" KeyNavigation.left: bottomLeft KeyNavigation.up: topRight } }
Das Element oben links erhält zunächst den Fokus, indem focus auf true
gesetzt wird. Wenn eine Pfeiltaste gedrückt wird, verschiebt sich der Fokus auf das entsprechende Element, wie durch den Wert definiert, der für die Eigenschaften KeyNavigation left, right, up oder down festgelegt wurde.
Beachten Sie, dass, wenn eine KeyNavigation-Eigenschaft die Ereignisse für das Drücken und Loslassen einer angeforderten Pfeil- oder Tabulatortaste empfängt, das Ereignis akzeptiert wird und sich nicht weiter ausbreitet.
Standardmäßig empfängt KeyNavigation Tastenereignisse nach dem Element, an das es angehängt ist. Wenn das Element das Tastenereignis akzeptiert, empfängt die angehängte KeyNavigation-Eigenschaft kein Ereignis für diese Taste. Wenn die Eigenschaft priority auf KeyNavigation.BeforeItem
gesetzt wird, kann das Ereignis für die Tastennavigation vor dem Element und nicht danach verwendet werden.
Wenn das Element, zu dem der Fokus wechselt, nicht aktiviert oder sichtbar ist, wird versucht, dieses Element zu überspringen und den Fokus auf das nächste zu richten. Dies ist möglich, wenn es eine Kette von Elementen mit demselben KeyNavigation-Handler gibt. Wenn mehrere Elemente in einer Reihe nicht aktiviert oder sichtbar sind, werden sie ebenfalls übersprungen.
KeyNavigation setzt implizit die andere Richtung, um den Fokus auf dieses Element zurückzubringen. Wenn Sie also left auf ein anderes Element setzen, wird right auf die KeyNavigation dieses Elements gesetzt, um den Fokus zurück auf dieses Element zu setzen. Wenn jedoch die KeyNavigation dieses Elements explizit auf rechts gesetzt wurde, wird keine Änderung vorgenommen. Das bedeutet, dass das obige Beispiel das gleiche Verhalten ohne die Angabe von KeyNavigation.right oder KeyNavigation.down für eines der Elemente erreichen kann.
Siehe auch Keys attached property.
Dokumentation der Eigenschaft Attached
KeyNavigation.backtab : Item |
Diese Eigenschaft enthält das Element, dem der Fokus zugewiesen werden soll, wenn die Tastenkombination Shift+Tab (Backtab) gedrückt wird.
KeyNavigation.down : Item |
Diese Eigenschaft enthält das Element, dem der Fokus zugewiesen werden soll, wenn die Cursortaste nach unten gedrückt wird.
KeyNavigation.left : Item |
Diese Eigenschaft enthält das Element, dem der Fokus zugewiesen werden soll, wenn die linke Cursortaste gedrückt wird.
KeyNavigation.priority : enumeration |
Diese Eigenschaft bestimmt, ob die Tasten vor oder nach der eigenen Tastenbehandlung des angehängten Elements verarbeitet werden.
Konstante | Beschreibung |
---|---|
KeyNavigation.BeforeItem | Verarbeitet die Tastenereignisse vor der normalen Tastenverarbeitung des Elements. Wenn das Ereignis für die Tastennavigation verwendet wird, wird es akzeptiert und nicht an das Element weitergegeben. |
KeyNavigation.AfterItem | (Standard) verarbeitet die Tastenereignisse nach der normalen Verarbeitung der Artikeltasten. Wenn das Element das Tastenereignis akzeptiert, wird es nicht von der an KeyNavigation angehängten Eigenschaftshandhabung verarbeitet. |
KeyNavigation.right : Item |
Diese Eigenschaft enthält das Element, dem der Fokus zugewiesen werden soll, wenn die rechte Cursortaste gedrückt wird.
KeyNavigation.tab : Item |
Diese Eigenschaft enthält das Element, dem der Fokus zugewiesen werden soll, wenn die Tabulatortaste gedrückt wird.
KeyNavigation.up : Item |
Diese Eigenschaft enthält das Element, dem der Fokus zugewiesen werden soll, wenn die Cursortaste nach oben gedrückt wird.
© 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.