在QT5中以编程方式在Tab键顺序中循环

时间:2019-06-21 09:40:11

标签: qt qt5

我有一个QT5应用程序,其中我必须模拟外部事件上的Tab键按下,即我需要循环浏览Taborder列表并在下一个元素上设置setFocus。

我找不到以编程方式获取制表顺序列表的任何方法。最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

QWidget:: nextInFocusChain() / previousInFocusChain()setFocus()方法或setFocus()插槽组合起来怎么样? (还有其他设置焦点的方法,所有方法都在Qt文档中进行了交叉链接。)

nextInFocusChain()previousInFocusChain() provide public API access到似乎控制跳位顺序的基础私有成员。例如,您可以看到它们正在QWidget::setTabOrder()中使用。

可以使用父窗口小部件的QWidget::focusWidget()QApplication::focusWidget()找到当前的焦点窗口小部件。请注意,如果QWidget::focusWidget()当前没有焦点,则也将按焦点顺序返回第一个小部件。此起点可用于以选项卡顺序构建小部件列表。