QT tablewidget 自适应宽度

继续Qt,关于如何在tablewidget中使行列头自适应宽度

GOOGLE了下,又进了QT中文论坛,发现有个哥们今年1月就问这个问题了,最后他自己找到了一个解决办法,引用其原话:

/**********************************************

经过一个中午思考,最后找到解决方法。因为QTableWidget继承有QHeaderView,而QHeaderView有一个方法setStretchLastSection(),它的形参为bool 型,可以用来设置是否充满宽度。
下面是一个例子:
#include <QtGui/QApplication>
#include <QtGui/QTableWidget>
#include <QtGui/QHeaderView>

int main(int argc, char *argv[])
{
QApplication app(argc, argv);

QTableWidget *table = new QTableWidget();
table->setColumnCount(3);
table->setRowCount(5);
table->horizontalHeader()->setStretchLastSection(true); //就是这个地方
table->show();
return app.exec();

}

*******************************************************/

这个方法我试了,是能自动完成列头的自动填充,但是有一个缺点:列头中空余的其余部分都是用最后一列来填充的,这样造成的问题就是最后一列很宽,严重影响美观。

万幸,各位看官,注意了,我用了个万幸。为什么捏?因为就在楼主的楼里,我看到12楼里有个人说

/*****************************************************

ui->tableWidget->horizontalHeader()->setResizeMode(QHeaderView::Stretch);

这样就可以了

*******************************************************/

我尝试了下,果然可以完成填充并使列平均分。

好了,就到这里,吃饭去啦,HOHO~

顺便最后鄙视下QT4的英文文档,缺少代码的例子,让我们这些初学者怎么搞啊。还有哪位大牛整个QT4的中文版帮助文档出来,整天看ASSISTANCE都快吐了。神啊,救救吧 T_T

11.2更新

今天又发现了行也有自适应宽度的方法,和列的类似,函数为 tableWidget->verticalHeader()->setResizeMode(QHeaderView::Stretch);

而且,如果添加的行多,行高度不会无限变小,有一个最小值,大约不大到1厘米的样子,反正大小正好

看着挺舒服的,它会自动产生一个ScrollBar

来自: http://hi.baidu.com/buptyoyo/blog/item/bc5cb3bd2c21080019d81fd5.html

  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值