Qt4的:调整窗口小部件,其获得重点启动(Qt4: adjust which widget get

2019-09-18 07:24发布

如果我不重新实现QMainWindow::showEvent()将包含该窗口小部件的setFocus()方法),有没有什么办法让一些小部件先被集中,被载入窗口时? 我使用的Qt4的形式编辑器,但没有找到地方来配置。

Answer 1:

您可以设置Tab顺序在Qt Designer中或Qt Creator中的Designer组件。 在Tab顺序的第一个窗口小部件应该获得焦点的负载。

许多用户希望能够只使用键盘小部件和控件之间进行导航。 Qt的让与标签输入控件的用户浏览和Shift + Tab键的键盘快捷键。 默认标签顺序基于在窗口小部件被构造的顺序。 虽然这个顺序可能是足够的许多用户来说,它往往是最好明确指定标签为了使您的应用程序更易于使用。

设置Tab顺序

进入tab顺序编辑模式,打开编辑菜单并选择编辑Tab顺序 。 在这种模式下,在形式每个输入插件被示出具有数字,指示它在标签顺序位置。 因此,如果用户给人的第一输入小部件输入的焦点,然后按下Tab键时,焦点将转移到第二输入小部件,等等。

标签顺序通过点击每个数字的正确的顺序定义。 单击第一个数字会变为红色,表示Tab键顺序链当前编辑的位置。 与所述号码相关联的窗口小部件将成为标签顺序链中的第一个。 点击其他窗口将使其成为第二个在Tab键顺序,依此类推。

直到您满意形式的标签顺序重复这个过程 - 你不需要,如果你看到的是,其余部件都已经在正确的顺序点击每个输入控件。 数字,你已经设置的顺序,变成绿色,而那些还没有点击,仍为蓝色。

如果你犯了一个错误,只需双击任意数量的外部或选择从表单的上下文菜单重新启动重新开始。 如果你有你的表格上许多小部件和想改变在中间或Tab键顺序链的末端Tab键顺序,您可以在任何位置进行编辑。 按住CTRL键 ,单击您要启动的数量。 或者,选择从这里在上下文菜单中启动



Answer 2:

没用过的形式编辑器,但你可以只调用控件SetFocus方法在你的代码中创建主窗口后。



文章来源: Qt4: adjust which widget get focused on start