济南住房和城乡建设局网站,江苏省网站备案电话号码,建设英文网站赚钱的36个方法,新东方考研培训机构官网分裂器QSplitter类提供了一个分裂器部件。和QBoxLayout类似#xff0c;可以完成布局管理器的功能,但是包含在它里面的部件,默认是可以随着分裂器的大小变化而变化的。 比如一个按钮放在布局管理器中,它的垂直方向默认是不会被拉伸的,但是放到分裂器中就可以被拉伸。还有一点不… 分裂器QSplitter类提供了一个分裂器部件。和QBoxLayout类似可以完成布局管理器的功能,但是包含在它里面的部件,默认是可以随着分裂器的大小变化而变化的。 比如一个按钮放在布局管理器中,它的垂直方向默认是不会被拉伸的,但是放到分裂器中就可以被拉伸。还有一点不同就是,布局管理器继承自QObject类而分裂器却是继承自QFrame类QFrame类又继承自QWidget类,也就是说分裂器拥有QWidget类的特性它是可见的而且可以像QFrame一样设置边框。它实现了分割窗口的功能允许用户通过拖动它们之间的边界来控制子部件的大小。 下面通过实例演示QSplitter类的使用 在源文件“main.cpp”具体代码如下 运行效果:
此实例中设定右部分分割窗口为可伸缩控件
当整个对话框的宽度发生改变时左部的文件编辑框宽度保持不变右部的分割窗口宽度随整个对话框大小的改变进行调整。 调用setOpaqueResize(bool)方法用于设定分割窗口的分割条,
在拖曳时是否为实时更新显示若设为true 则实时更新显示若设为false 则在拖曳时只显示一条灰色的粗线条在拖曳到位并释放鼠标后再显示分割条。默认设置为true。 调用setStretchFactor()方法用于设定可伸缩控件
它的第1个参数用于指定设置的控件序号控件序号按插入的先后次序从0起依次编号;
第2个参数为大于0的值表示此控件为可伸缩控件。 splitterMain-setStretchFactor(1,1);
这里的“1”代表要设置的部件的索引即第二个部件“1”代表设置的拉伸因子即这个部件在所有部件中的拉伸比率。
拉伸因子越大当布局的空间发生变化时该部件就会被拉伸得越多以便填满所有的空间。在这种情况下因为设置的拉伸因子为1所以该部件不会被拉伸也就是说它的大小将是固定的。
如果想让某些部件在空间变化时能够自动拉伸可以给这些部件设置较高的拉伸因子。例如splitterMain-setStretchFactor(1, 2); 就会让第二个部件的大小是第一个部件的两倍。