Qt Creator中添加分裂器

目录

分割栏在窗口程序中很常见,比如windows的资源管理器左侧的导航与右侧显示窗口之间就有分割条。Qt用分裂器QSplitter实现分割栏功能。

1. Qt Creator中创建QSplitter

QSplitter将空间分成两部分(水平或竖直),所以需要先选定两个控件,此时工具栏如下图所示:

红框标出的两个图标就是水平和竖直分裂器。点击后,就会自动添加QSplitter,默认情况下,这两部分平分整个空间,如下图所示:

在右侧的属性窗口中可以看到,两个控件的geometry属性均不可改变,它们的大小被分裂器接管。分裂器根据控件的sizePolicy、minimunSize、maximumSize等属性计算控件大小。这样调整空间大小非常费劲,但Qt给我们提供了其它的方式,请看下节。

2. 调整分裂器控件大小

Qt Creator中不可以直接拖动修改控件的大小,但QSplitter提供setStretchFactor()方法设置控件的伸缩比例,实际上就相当于设置两个空间的大小比例关系。我将比例设置成6:1
[cpp]
ui->main_splitter->setStretchFactor(0,1);
ui->main_splitter->setStretchFactor(1,4);
[/cpp]
因为在代码中修改界面,所以只能在运行中查看结果:

可以看到两部分比例明显变化。