首页 > 解决方案 > 以编程方式循环通过 QT5 中的 Tab-Order

问题描述

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

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

标签: qtqt5

解决方案


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

nextInFocusChain()并为似乎控制跳动顺序的底层私有成员previousInFocusChain() 提供公共 API 访问。例如,您可以看到它们在QWidget::setTabOrder()中使用。

当前焦点小部件可以通过父小部件的QWidget::focusWidget()QApplication::focusWidget() 找到。请注意,QWidget::focusWidget()如果当前没有焦点,也会返回焦点顺序中的第一个小部件。此起点可用于按 Tab 键顺序构建小部件列表。


推荐阅读