现象:
Qt版本: 4.8.6
调用QHeaderView的setResizeMode发现不起作用。代码如下:
QTableWidget* pTable = new QTableWidget;
pTable ->horizontalHeader()->setSectionResizeMode(0,QHeaderView::ResizeToContents);
pTable ->horizontalHeader()->setSectionResizeMode(1,QHeaderView::Stretch);
pTable ->horizontalHeader()->setSectionResizeMode(2,QHeaderView::ResizeToContents);

QStringList tableHeader = QStringList()<<"a"<<"b"<<"c";
pTable->setColumnCount(tableHeader.count());
pTable->setHorizontalHeaderLabels(tableHeader );

原因:

setResizeMode需要在设置header的内容之后再调用。


解决办法:
将三句 setSectionResizeMode放在setHorizontalHeaderLabels之后。