关于tableWidget的列宽拖动和滚动条设置

http://hi.baidu.com/buptyoyo/blog/item/d7a5b2131038c51cb9127ba2.html

之前做项目中数据经常使用table呈现,为了界面美观,我把header设置为strench的自动填充方式。但事实上,如果一旦有比较多的数据在一个item中,由于宽度固定,就不能把内容显示全,这个时候,可以把table设置为可以拖动的,这样就可以通过拖动列宽显示看不到的内容。
这样,初始时我们根据表的宽度平均每个列的初始宽度,并添加滚动条,使其在列宽被拖动超过表的初始宽度时滚动条显示。具体的实现如下:
//初始列宽,根据表宽均分
ui.tableWidget->setColumnWidth(0,ui.tableWidget->width()/4);
ui.tableWidget->setColumnWidth(1,ui.tableWidget->width()/4);
ui.tableWidget->setColumnWidth(2,ui.tableWidget->width()/4);
ui.tableWidget->setColumnWidth(3,ui.tableWidget->width()/4);
//设置列宽可拖动
ui.tableWidget->horizontalHeader()->setResizeMode(QHeaderView::Interactive);
ui.tableWidget->verticalHeader()->setResizeMode(QHeaderView::Interactive);
//设置table的水平滚动条
ui.tableWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
这样就实现了上面提到功能


你可能感兴趣的:(TableWidget控件)