1.QSplitter介绍
QSplitter是Qt框架提供的一个基础窗口控件类,主要用于分割窗口,使用户能够通过拖动分隔条来调节子窗口的大小。
2.QSplitter的添加方法
(1)通过Qt Creator的界面设计工具添加;
(2)直接使用C++代码添加。
说明:方法a最为直观和方便,本文将重点介绍这种方法。
2.1 通过Qt Creator添加QSplitter控件
与Push Button等控件的添加方法不同,在“设计”视图左侧的控件列表中,并没有对应的QSplitter控件,而是在上方面的工具栏中,如下图红色圈住的位置所示:
说明:当选中需要布局的控件后QSplitter控件就会变为可用。
注意:QSplitter和Layout只能选择其中一种布局方式。
2.2 取消QSplitter
取消上述的分裂布局的方法是,同时选中已经被分裂的控件,然后点击工具栏上方的“打破布局(B)”按钮即可,如下图所示:
3 动态改变子窗口大小
默认情况下,使用鼠标拖动分割子窗口间的边界时,子窗口会动态的改变其大小。然而,如果希望在松开鼠标时才改变其大小,可以设置下面的参数,取消其勾选状态即可:
4 子窗口最小尺寸
在拖动子窗口间的边界线时,有时我们并不希望子窗口的宽度或者高度被缩小到零,因此可以设置子窗口的最小尺寸:
然而,就算是设置了上述值,还不行,还需要将下面的选择去掉勾选状态
5 子窗口比例
默认情况下,QSplliter中各个子窗口的大小等比例的,但是很多时候我们并不希望这样,因此参考资料[5][6][7][8]都提到如何解决这个问题,但都是直接通过C++代码的方式去实现的。这里主要介绍如何通过Qt Creator的“设计”界面来达到同样的目的。
选中QSplitter中的子窗口,然后设置其sizePolicy属性如下图所示
分别将QSplliter中各子窗口的“水平伸展”值设置为非零的值。此值越大,表示对应的子窗口在QSplliter中的分割比例越大(分割效果要运行程序时才呈现出来)。
6.触摸屏中QSplliter使用
触摸屏一般手指操作,QSplitter分割线手默认不好找,很容易误操作,这时可以把分割线设置宽一些,设置方法如下:
默认值为5,一般设置20即可。