Qt:以编程方式定义 Tab 顺序

Posted

技术标签:

【中文标题】Qt:以编程方式定义 Tab 顺序【英文标题】:Qt: define Tab Order programmatically 【发布时间】:2010-07-22 10:14:26 【问题描述】:

我用 Desinger (Widget1 和 Widget2) 创建了 2 个小部件,每个小部件都定义了它的标签顺序。 第三个小部件 (Widget3) 以编程方式定义,并在垂直布局中包含上述 2 个小部件。 在 symbian 非触摸设备上。 当我专注于 widget3 时,我想将焦点放在 widget1 上。然后,当我到达 widget1 选项卡链的末尾时,使用电话箭头从 widget1 转到 widget2。 这样做的正确方法是什么?

【问题讨论】:

【参考方案1】:

来自Qt Documentation,

void QWidget::setTabOrder ( QWidget * first, QWidget * second )   [static]

其中规定,第二个小部件放在第一个小部件之后以焦点顺序。

所以对你来说,第一个小部件将是你的Widget3第二个小部件将是你的Widget1。 (如果我正确理解了这个问题

除此之外,我在上面提供的链接中提供了有关使用此功能的示例。你可以使用它。

希望对你有帮助..

【讨论】:

【参考方案2】:

还可以通过按项目构造顺序设置来利用默认的 Tab 键顺序。 所以只需编辑 .ui 文件 XML:

<item>
     ... //Automatically assign with tab order X
</item>
<item>
     ... //Automatically assign with tab order X+1
</item>

按照您希望的 Tab 键顺序。

【讨论】:

以上是关于Qt:以编程方式定义 Tab 顺序的主要内容,如果未能解决你的问题,请参考以下文章

您如何以编程方式更新 Qt 中的 UI?

无法以编程方式为 DataTable 设置初始排序顺序

如何以编程方式隐藏 TabPanel 中的 Tab(ExtJS 3)

如何以编程方式控制 NSPopUpButton 上的 TAB 按键事件

Qt Key Event 的行为与键盘不同

UI Tab Bar 以编程方式实现 UITabbarDelegate