11.2在 Qt Designer 中使用布局

为了确保界面元素在应用程序程序在运行时或被预览时的各种状态下都能够正常显示,我们需要把它们放进布局当中去。

11.2.1 应用和破除布局

应用布局的最简单做法是选中界面元素,使用工具栏上的按钮、鼠标右键的上下文菜单,以及【Form】菜单都可以实现。

一旦界面元素被放进一个布局之中,它就不能单独自由行动了 -你不可以单独改变它的 大小,因为布局接管了这一工作,它控制了位于其中的界面元素的几何以及间隔器的大小策 略提示(size hint)。所以你要么破除布局,人工调整界面元素的大小,要么通过调整布 局的大小来间接调整界面元素的大小。

要破除一个布局,可以使用快捷键 Ctrl+0 或者通过鼠标右键上下文菜单以及主菜单项 或工具栏按钮。在一个布局完成之后,你仍然可以向其中添加或删除间隔器来影响布局内部 的窗口部件的几何,最为便捷的方式是从部件选择器中拖出一个间隔器,并把它拖入到布局 之中,删除的时候则相反,把间隔器从布局中拖出来即可。

1. 向布局中增加窗口部件

如图 11-11 所示,要向一个已经存在的布局中增加窗口部件,只需要选中并拖动该窗口部件,把它从当前位置拖进布局之中,并在认为合适的位置放开鼠标。注意,当你的拖动 窗口部件在布局上方停留时,布局内部会显示一条蓝色的线,它提示了你的窗口部件未来在布局中的位置。

图 11-11 向布局中增加窗口部件

2. 设置一个顶级布局(Top Level Layout) 设置界面的顶级布局是很有必要的,它能确保窗口界面元素在应用程序的各种状态下均能够保持适当的大小。

要设置顶级布局,需要用鼠标左键选中该 Form,然后使用快捷键或工具栏或者主菜单 项来选中一种布局。

如何验证已经设置了顶级布局呢,简单的做法就是在 Qt Designer 的预览窗口(按下 Ctrl+R 键)中,使用鼠标左键拖动窗口的边缘手柄,查看界面元素的变化情况。如果一切 正常,那就表示你已经设置过了。还有一种做法,就是用鼠标左键点击界面表单(你的 Form),然后在对象查看器中,如果看到 Form 前面有常见的几种布局图标之一(图 11-12 中是垂直布局),那么就表示你已经设置了顶级布局,如图 11-12 所示;反之,如果 Form 前面的图标右下角带有一个红色的停止标志,就表示还没有设置顶级布局,如图 11-13 所 示。

图 11-12 在对象查看器中浏览顶级布局-存在顶级布局

图 11-13 在对象查看器中浏览顶级布局-不存在顶级布局

3. 应用一个布局

要应用一个布局,你可以使用工具栏上的按钮,如图 11-14 所示,也可以使用鼠标右键的上下文菜单,如图 11-15 所示。

图 11-14 使用工具栏按钮应用一个布局

图 11-15 使用鼠标右键的上下文菜单来应用一个布局

11.2.2 快捷键

除了使用标准工具栏以及上下文菜单,我们还可以使用快捷键来对布局进行操作。表 11-3 显示了常见的布局操作所对应的快捷键。

表 11-3 布局的快捷键

布局 快捷键 说明
水平布局 Ctrl+1 将选中的界面元素置于一个水平布局中
垂直布局 Ctrl+2 将选中的界面元素置于一个垂直布局中
栅格布局 Ctrl+5 将选中的界面元素置于一个栅格布局中
表单布局 Ctrl+6 将选中的界面元素置于一个表单布局中
分裂器水平布局 Ctrl+3 创建一个分裂器水平布局,并将选中的界面元素置于其中
分裂器垂直布局 Ctrl+4 创建一个分裂器垂直布局,并将选中的界面元素置于其中
调整大小 Ctrl+J 调整布局的大小,以使得位于其中的元素能够恰当的显示自身内容。关于这方面的内容,可以参见 QWidget::adjustSize()函数
破除布局 Ctrl+0 破除选中的布局