当我使用QGridLayout的时候,有时会碰见这种情况,就是一行有两个控件,总共两行,(a1,a2与b1
b2,a1,a2属于同一种控件,b1,b2属于另一种)b的宽度是a的整整两倍,在qt2中,我可以使用addMultiCellWidget进行处理,可是qt4中没有这个函数,查看了qt4中关于QGridLayout的文档有如下函数:
void addWidget ( QWidget * widget, int fromRow, int fromColumn, int rowSpan, int columnSpan, Qt::Alignment alignment = 0 )
于是我就用
a1->addWidget(this, 0, 0);
b1->addWidget(this, 0, 1, 0, 2);
a2->addWidget(this, 1, 0);
b2->addWidget(this, 1, 1, 1, 2);
来进行处理,可是当我是用的时候,如果a是QLineEdit,而b是QComobox,就很可能出现b1与b2叠在一起的问题,我也不清楚是怎么回事,于是我又用了另一种方法,及
setColumnStretch(0, 1);
setColumnStretch(1, 2);
a1->addWidget(this, 0, 0);
b1->addWidget(this, 0, 1;
a2->addWidget(this, 1, 0);
b2->addWidget(this, 1, 1);
就是先把column的大小调整好,这样就能正确显示了。
转载于:https://www.cnblogs.com/xiaowangba/archive/2007/08/23/6313808.html
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/111077.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...