Ich verwende QtQuick.Controls 2.0 TabBar
, um eine SwipeView
zu steuern. Standardmäßig TabBar
und SwipeView
reagiert auf die linken und rechten Pfeiltasten, mit was ich davon ausgehen, ist ein onPressed
Handler.Schlüsselhandler von SwipeView, der Schlüsselhandler eines untergeordneten Elements vorgeht
Soweit ich das beurteilen kann, sind diese Standardschlüssel-Handler ohne Papiere.
Ich brauche ein bestimmtes Element in meinem UI Ereignis für alle vier Pfeiltasten zu erhalten, wenn und nur wenn es aktiv Fokus. Derzeit macht es so durch einen onReleased
Handler, aber wann immer der Vorfahr SwipeView
auf eine Taste reagiert, wird das Kind-Element nicht die erwartete onReleased
Schlüsselereignis erhalten.
ich keinen Einspruch gegen die SwipeView
‚s Standardverhalten, aber ich will mein Verhalten Priorität zu nehmen. Wie kann ich es tun?
Weder TabBar- noch SwipeView alle Verknüpfungen greifen. Sie filtern oder stehlen keine Schlüsselereignisse von anderen Elementen oder Steuerelementen. Sie behandeln nur Schlüsselereignisse, die sie erhalten, während sie fokussiert sind, oder nicht behandelte Schlüsselereignisse, die von Kindern weitergegeben werden. Wenn Ihr Benutzeroberflächenelement Schlüsselereignisse verarbeitet und nicht weiter an die übergeordneten Elemente weitergegeben werden soll, müssen Sie die Schlüsselereignisse akzeptieren. Beachten Sie auch, dass viele integrierten Steuerelemente, wie Tasten und Schieberegler, haben „starke“ Fokus Richtlinie standardmäßig, was bedeutet, dass sie den Fokus zu gewinnen, wenn darauf geklickt, zum Beispiel. – jpnurmi
@jpnurmi Ich dachte, ich habe gezeigt, dass es nicht das 'war auf wichtige Ereignisse SwipeView' reagieren, und deshalb muss er die' TabBar' gewesen sein. Aber als ich versuchte, ein Beispiel zu bilden, das ich Ihnen als Antwort präsentieren konnte, stellte ich fest, dass ich mich selbst getäuscht hatte. – 01d55