使用Tab键在TextEdit中导航

Jon*_*tan 3 qml qt-quick

我有两个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而不是用它来改变焦点?

Jon*_*tan 5

我发现了这个问题.

默认情况下,键事件首先发送到接收事件的项目 - 而不是 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)