8

如果我不重新实现QMainWindow::showEvent()(它将包含该小部件的 setFocus() 方法),有没有办法让某些小部件在加载窗口时首先获得焦点?我使用 Qt4 的表单编辑器,但找不到配置它的地方。

4

2 回答 2

15

您可以在 Qt Designer 中设置Tab 键顺序,也可以在 Qt Creator 中设置 Designer 组件。选项卡顺序中的第一个小部件应该关注加载。

标签顺序

许多用户希望能够仅使用键盘在小部件和控件之间导航。Qt 允许用户使用TabShift+Tab键盘快捷键在输入小部件之间导航。默认选项卡顺序基于构建小部件的顺序。尽管这个顺序对于许多用户来说可能已经足够了,但通常最好明确指定 Tab 键顺序以使您的应用程序更易于使用。

设置标签顺序

要进入跳位顺序编辑模式,请打开编辑菜单并选择编辑跳位顺序。在此模式下,表单中的每个输入小部件都显示有一个数字,指示其在 Tab 键顺序中的位置。因此,如果用户将输入焦点赋予第一个输入小部件,然后按 Tab 键,则焦点将移动到第二个输入小部件,依此类推。

通过按正确顺序单击每个数字来定义跳位顺序。您单击的第一个数字将变为红色,表示当前在跳位顺序链中编辑的位置。与数字关联的小部件将成为标签顺序链中的第一个。单击另一个小部件将使其成为选项卡顺序中的第二个,依此类推。

重复此过程,直到您对表单中的 Tab 键顺序感到满意——如果您看到剩余的小部件已按正确的顺序排列,则无需单击每个输入小部件。已设置顺序的数字变为绿色,而尚未单击的数字仍为蓝色。

如果您犯了错误,只需在任意数字之外双击​​或从表单的上下文菜单中选择重新启动以重新开始。如果您的表单上有许多小部件,并且想在跳位顺序链的中间或末端更改跳位顺序,您可以在任何位置对其进行编辑。按下Ctrl并单击要开始的号码。或者,在上下文菜单中选择从此处开始。

于 2012-06-20T13:45:23.303 回答
10

从未使用过表单编辑器,但您可以在创建主窗口后在代码中调用小部件setFocus 方法。

于 2012-06-20T13:23:11.330 回答