我有两个TextEdit框和一个自定义按钮小部件,我希望使用键盘上的Tab键按以下顺序更改焦点:

TextEdit1 <-> TextEdit2 <-> Button


为了获得上面的链,我为每个小部件指定了类似于以下内容的内容:

KeyNavigation.tab: TextEdit2
KeyNavigation.backtab: TextEdit1


但是,我的问题是选项卡的按键被捕获在TextEdit中,并且不能用于导航。如何禁用TextEdit中的选项卡,而是将其用于更改焦点?

最佳答案

我发现了问题。

默认情况下,关键事件首先发送到正在接收事件的项目-而不是KeyNavigation。可以通过设置更改此行为

KeyNavigation.priority: KeyNavigation.BeforeItem


完整的代码因此成为

KeyNavigation.tab: TextEdit2
KeyNavigation.backtab: TextEdit1
KeyNavigation.priority: KeyNavigation.BeforeItem

关于qml - 使用Tab键在TextEdit中导航,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14323788/

10-09 13:41