本文主要是介绍学习记录-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就行了。
这篇关于学习记录-Qt布局中的Spacer使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!