我有两个TextEdit盒子和一个自定义按钮小部件,我希望使用键盘上的Tab键按以下顺序更改焦点:
TextEdit1 <-> TextEdit2 <-> Button
Run Code Online (Sandbox Code Playgroud)
为了获得上面的链,我为每个小部件指定了类似的内容:
KeyNavigation.tab: TextEdit2
KeyNavigation.backtab: TextEdit1
Run Code Online (Sandbox Code Playgroud)
然而,我的问题是Tab键击中了TextEdit,并且不能用于导航.如何禁用标签,TextEdit而不是用它来改变焦点?
我发现了这个问题.
默认情况下,键事件首先发送到接收事件的项目 - 而不是 KeyNavigation.可以通过设置更改此行为
KeyNavigation.priority: KeyNavigation.BeforeItem
Run Code Online (Sandbox Code Playgroud)
这样完整的代码就变成了
KeyNavigation.tab: TextEdit2
KeyNavigation.backtab: TextEdit1
KeyNavigation.priority: KeyNavigation.BeforeItem
Run Code Online (Sandbox Code Playgroud)