Qt怎样使用布局管理
当我们编写带可视界面的C++程序时,可能都曾碰到过这样的难题:组件如何才能在窗口改变大小时仍能有序排列?幸好,作为一个杰出的潮贾篡绐C++图形界面库,Qt为此专门提供了完美的解决方案:那就是使用“布局管理“,实现了既自动又智能的自行调整。那么,我们在Qt中应该如何使用布局管理呢?
工具/原料
Qt
一、基本用法
1、所谓横向布局,就是指横向排列组件。为了便于大家理解,我以横向排列三个按钮作为例子。
2、要想使用横向布局,需要使用QHBox雉搽妤粲Layout这个类。具体的步骤为:1、首先,我们需要创建一个QHBoxLayout对象。在此需要提醒大家注意的是,由于盐淬芪求该对象需要在程序生存期始终有效,故而一般使用new来创建。
3、再使用QHBoxLayout对象的addWidget方法按从左到右的顺序添加要在窗口上显示的按钮。
4、最后将此布局设为窗口的布局。
5、现在,我们就可以在main函数中创建一个窗口实例来测试这个布局是否成功。可以看到,三个按钮均匀排列在窗口之中。
6、而且,当我们调整窗口大小时,按钮也会相应地调整自身的位置和大小。
7、用同样的方法,我们也可以创建垂直布局,只不过将QHBoxLayout换成QVBoxLayout就可以了(其余的代码完全不用更改)。
二、占位符
1、在有些时候,我们可能并不希望组件在窗口上平均摆放。比如说,我想将两个按钮靠右摆放,而在左侧留出空位。
2、要实现这种布局,就需要用到布局对象的宛鳘艺荤另一个成员函数addStretch( )。在创建布局时,我们首先添加占位符,然后再添加按钮一和按钮二。
3、以下是上述代码的运行效果。在垂直布局中使用占位符的方法和水平布局类似,在此就不再举例了。
三、注意事项
1、在通常情况下,我们希望布局的生命周期与应用程序的生存时长相同,故一般使用new来创建。否则,则容易发生不可预料的布局错误(见下图)。