qt - 以编程方式循环通过 QT5 中的 Tab-Order
问题描述
我有一个 QT5 应用程序,我必须在其中模拟外部事件上的选项卡按键,即我需要循环浏览 taborder 列表并在下一个元素上设置焦点。
我找不到任何以编程方式获取标签顺序列表的方法。最好的方法是什么?
解决方案
nextInFocusChain QWidget::
() / previousInFocusChain()和setFocus()方法或setFocus()槽的组合怎么样?(还有其他一些设置焦点的方法,所有这些都在 Qt 文档中交叉链接。)
nextInFocusChain()
并为似乎控制跳动顺序的底层私有成员previousInFocusChain()
提供公共 API 访问。例如,您可以看到它们在QWidget::setTabOrder()中使用。
当前焦点小部件可以通过父小部件的QWidget::focusWidget()或QApplication::focusWidget() 找到。请注意,QWidget::focusWidget()
如果当前没有焦点,也会返回焦点顺序中的第一个小部件。此起点可用于按 Tab 键顺序构建小部件列表。
推荐阅读
- c# - 我想从 ms-access 数据库中检索名为“pid”的列名中的自动编号值,并希望将该自动编号值插入到另一个表中
- firebase - 如何在flutter中删除firestore中的多个文档?
- node.js - 使用 Multer 和 Node js 在 React 上的本地存储中未显示图像
- android - kotlin 中的烧瓶 + 改造无法使用 IP 地址访问 API 端点(无法连接到 /127.0.0.1:5000)
- python - AttributeError:无法获取属性“video_dataset”
- parsing - 使用 >>= 表示基本数字解析器
- python - 如何将 Django 应用模块中的 url 添加到我的主 urls.py 中?
- azure-functions - 未针对 Azure Functions 触发事件网格触发器
- ios - 如何在以编程方式添加的 UIView 内以编程方式创建 UITextView?
- python - 顺序应用数据集中较小批次的代码