QWidget和layout

给QWidget或者QDialog设置布局的时候方式很简单。创建好一个布局:mainLayout,然后不停地把各个控件往mainLayout里面放,最后调用setLayout(mainLayout)就行了。
对QWidget上进行布局一般都会用到布局管理器,不管是垂直布局管理器QVBoxLayout还是水平或者网格等,但要注意的是一个 QWidget上只能有一个布局管理器来管理布局。

有的时候对QMainWindow直接进行布局不管用,就是因为 QMainWindow是默认有layout的 ,所以再次设置layout会失效。


那要是想要多重布局怎么办呢

在布局上创建QWidget作为跳板,然后来达到不同区域不同布局的方法。


m_pMainWidget = new QWidget(this);
 //主布局,最底层
m_pVblMain = new QVBoxLayout(m_pMainWidget); // 最底层布局
QWidget pWidget1 = new QWidget(m_pMainWidget);
QWidget pWidget2 = new QWidget(m_pMainWidget);

m_pVblMain->addWidget(pWidget1);
m_pVblMain->addWidget(pWidget2);

QHBoxLayout *pHBoxLayout = new QHBoxLayout(pWidget1);

QGridLayout *pGridLayout = new QGridLayout(pWidget2); //通过一层pWidget1和pWidget2实现上下不同布局

或者直接使用verticalLayout->addLayout(horizontalLayout_2);来添加子布局,达成Widget和一个子布局进行布局的效果。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值