1.使用QT自带的布局类能去掉控件的间隙吗?
下面是QT的设计师界面,我在一个QWidget上面放了4个按钮,并且把这4个按钮放到了一个水平布局内,大家看右下角的参数,我已经全部设置为0,但是从界面上依然能直观低看到QT自带的布局类并不能直接去掉控件之间的缝隙。
如果还不信,请看程序运行之后的结果,明显是有界限的:
综上所述,得出如下结论:使用QT自带的布局类,是无法去掉控件的间隙的。
2.有什么方法可以去掉间隙?
如果要在一块区域显示多个控件,则不要使用QT自带的布局,而是使用move函数来调整控件的位置,以消除空隙。下面的代码就是使用move来达到这种效果的:
QPushButton *btn1 = new QPushButton;
QPushButton *btn2 = new QPushButton;
//设置按钮的固定尺寸
btn1->setFixedSize(100, 100);
btn2->setFixedSize(100, 100);
//移动按钮到指定位置
btn1->move(0, 0);
btn1->move(98, 0);
怕不好理解,再加个图来说明一下: