调用QHeaderView的setSectionResizeMode不起作用。

现象:
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之后。


演示站
上一篇:Qt程序在构造QApplication对象时就崩溃
下一篇:QTreeWidget如何遍历所有QTreeWidgetItem?

发表评论