学习记录-Qt布局中的Spacer使用

在自定义控件后,使用自定义控件进行布局时,采用网格布局,当窗口大小合适,动态创建的空控件数量也合适时,那么控件之间的空白处比较小,能布满窗口,效果比较好看,但是当控件较小或者控件较少时,就都居中显示了。不想要这种效果,想要一种自动靠左对齐或者靠右对齐的方式来显示,该怎么实现呢,Qt布局器中的Spacer就可以解决这个问题。

代码和效果如下:

关键代码:

</pre><pre name="code" class="cpp">    it1 = new TestFrame("test01");
    it2 = new TestFrame("test02");
    it3 = new TestFrame("test03");
    it4 = new TestFrame("test04");
    ui->gridLayout->addWidget(it1,0,0);
    ui->gridLayout->addWidget(it2,0,1);
    ui->gridLayout->addWidget(it3,0,2);
    ui->gridLayout->addWidget(it4,0,3);
    QHBoxLayout * hb = new QHBoxLayout;
    hb->addStretch();
    ui->gridLayout->addLayout(hb,0,4);

效果图:


关闭test01的效果,自动靠左对齐



以上是使用代码动态添加窗口的,关键就是那个addStretch(),他就是添加Spacer空白。在设计师里也可以拖控件实现,加入像弹簧一样那个控件Spacers就行了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值