• 7371阅读
  • 5回复

QGridLayout布局出现问题 [复制链接]

上一主题 下一主题
离线zzh
 

只看楼主 倒序阅读 楼主  发表于: 2009-10-14

buju3 = new QGridLayout;
buju3->addWidget(daoru1,0,0);
buju3->addWidget(new QLabel(tr("CSV格式:身份证号,姓名,基数,单位,电话,X【X=1正常,X=2女干部】")),0,1,1,10);
buju3->addWidget(daoru2,1,0);
buju3->addWidget(new QLabel(tr("CSV格式:身份证号")),1,1,1,10);
buju3->addWidget(daoru3,2,0);
buju3->addWidget(new QLabel(tr("CSV格式:身份证号,姓名,缴费月份,基数,个人账户,工作时间")),2,1,1,10);
buju3->addWidget(hedingan,3,0);
buju3->addWidget(new QLabel(tr("CSV格式:身份证号,新基数")),3,1,1,10);
buju3->addWidget(zengjiaan,4,0);
buju3->addWidget(nianyue,4,1);//就这行显示的太长了,有什么办法能变短呢?谢谢
buju3->addWidget(new QLabel(tr("月缴费纪录\t\t")),4,2,1,10);
buju0 = new QHBoxLayout;
buju0->addLayout(buju3);
buju0->addStretch(4);
zhubuju = new QVBoxLayout;
zhubuju->addLayout(buju1);
zhubuju->addWidget(shitujb);
zhubuju->addWidget(shitujl);
zhubuju->addLayout(buju0);
zhubuju->addLayout(buju2);
setLayout(zhubuju);
离线zzh

只看该作者 1楼 发表于: 2009-10-14
buju3->addWidget(nianyue,4,1,1,1);
也尝试过,也不行
离线wd007

只看该作者 2楼 发表于: 2009-10-14
你这个布局能否采用QFormLayout呢,它支持行折叠。

它有一个方法用来设置行折叠策略(RowWrapPolicy ),其原型是void setRowWrapPolicy ( RowWrapPolicy policy )

行折叠策略是个枚举值,有3个值,应该可以满足需求。具体可查看文档
欢迎访问我的博客,一起学习提高
http://blog.csdn.net/qter_wd007
离线zzh

只看该作者 3楼 发表于: 2009-10-15
谢谢,改天我试试,但我还是不明白,其他部件都跨那么多行,是我设置的,但就那个部件,我没让它跨那么多行,它怎么就变的那么长呢???
离线lugaideath

只看该作者 4楼 发表于: 2009-10-15
你可以加一个QSpacerItem放在输入框的右面,要横向的哦,这样就不会拉伸了!

或者你把输入框放在一个QHboxLayout
把输入框add进QHboxLayout后,然后再调用一下QHboxLayout的addStretch()

然后把原来的gridlayout的输入框位置换成addlayout把QHboxLayout加进去就是了
离线zzh

只看该作者 5楼 发表于: 2009-10-15
换成QHboxLayout布局果然解决了问题,谢谢
快速回复
限100 字节
 
上一个 下一个