转载自http://apps.hi.baidu.com/share/detail/24854952
#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();
}
这个方法我试了,是能自动完成列头的自动填充,但是有一个缺点:列头中空余的其余部分都是用最后一列来填充的,这样造成的问题就是最后一列很宽,严重影响美观。
/*****************************************************
ui->tableWidget->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
我尝试了下,果然可以完成填充并使列平均分。
行也有自适应宽度的方法,和列的类似,函数为 tableWidget->verticalHeader()->setResizeMode(QHeaderView::Stretch);
而且,如果添加的行多,行高度不会无限变小,有一个最小值,大约不大到1厘米的样子,反正大小正好看着挺舒服的,它会自动产生一个ScrollBar。
*******************************************************/