设置比例 简短版本: splitter->setSizes({1000, 2000}); // 这个值至少跟像素值设置的一样大,或者更大,例如x10倍 1. 详细版本: setSizes 官方介绍如下: Sets the child widgets’ respective sizes to the values given in the list. If the splitter is horizontal, the values set the width of each wid...
QSplitter如下为常用 设置显示比例 1 pRightSplitter=new QSplitter(Qt::Vertical); 2 pRightSplitter->setMouseTracking(true); 3 pRightSplitter->setStretchFactor(0,8); 4 pRightSplitter->setStretchFactor(1,2); 但是由于内部有子窗口的布局时,会失效 使用下面方法设置 1 //pRightTopWidget 为子窗口1 2...
1pRightSplitter=newQSplitter(Qt::Vertical);2pRightSplitter->setMouseTracking(true);3pRightSplitter->setStretchFactor(0,8);4pRightSplitter->setStretchFactor(1,2); 但是由于内部有子窗口的布局时,会失效 使用下面方法设置 1//pRightTopWidget 为子窗口12QSizePolicy rightTopPolicy = pRightTopWidget->sizePolicy...
选中QSplitter中的子窗口,然后设置其sizePolicy属性如下图所示 图5 缩放因子设置 分别将QSplliter中各子窗口的“水平伸展”值设置为非零的值。此值越大,表示对应的子窗口在QSplliter中的分割比例越大(分割效果要运行程序时才呈现出来)。
并以水平方式添加它们,同时设置了伸缩系数。上图比例为 2:1:1。以下是对应的源代码。另一个示例展示了当setOpaqueResize(false)方法被调用时,QSplitter的大小调整行为有何不同。默认情况下,当设置为true时,效果如下。最后,还展示了QSplitter如何实现相互嵌套。以下是相应的源代码。
比如用splitter分割了上下2个GroupBox,2个垂直策略都是Expanding(扩展),第一个垂直伸展的值是2,第二个垂直伸展的值是1 那么出来的效果就是上下2个Group占界面高度为2:1,即2/3和1/3。伸展设的值都是比例,不是大小。策略里的各种属性都可以看下是什么意思,这样布局就很方便了。
所以这就是为什么我推荐上面用方式2布局的原因,因为方式2得到的是QWidget,所以如果作为QSpliter的子控件,就可以设置这个值了,如果是方式1得到的QVBoxLayout对象,就没有这个值可设,当然网上有人说此情况下通过代码也可以设置,大家可以试试 QTQSplitter设置初始比例setStretchFactor失效解决 - 百度文库...
# 设置第一个Splitter的布局方向 splitter1 = QSplitter(Qt.Horizontal) # 为第一个Splitter添加控件,并设置两个控件所占空间大小 splitter1.addWidget(topleft) splitter1.addWidget(textedit) splitter1.setSizes([100, 200]) # 设置第二个Splitter的布局方向,将第一个Splitter嵌套在第二个里 ...
QT splitter分割窗口后如何按比例显示,即分割后的窗口大小设置方法 控件有水平伸展和垂直伸展的属性(sizePolicy里),比如用splitter分割了上下2个GroupBox,2个垂直策略都是在Expanding(扩展),第一个垂直伸展的值是2,第二个垂直伸展的值是1,那么出来的效果就是上下2个Group占界面高度为2:1,即2/3和1/3,伸展设的值...
QT按比例布局 ”或“使用分裂器竖直布局” 生成了一个splitter对象,它把这几个组件都包含进去了,如图 这时编译,把鼠标放到这几个组件中的相邻两个组件的分界线上拖动就可以调节大小了选中某个组件,在sizePolicy中设置水平伸展(或竖直伸展)的值。这几个组件的伸展值的比例就是默认比例。