QTableWidget可以用来显示表格数据 是一种相对来说比较常用的部件。和QTableView相比,其在内部已添加了标准模型 不需要用户在添加模型。虽然灵活度下降 但是使用相对方便。网上有很多资料讲了该部件用法(参考文献1)。这里讲一下自己使用时 遇到的一些问题:
1 不能设置表头的背景颜色。
虽然参考资料中给出了设置表头背景色的办法 但使用起来却无效。在论坛中看到有人讨论(参考文献2)大概说只有在QMainWindow上使用该方法才有效
可以通过设置样式表的方式来改变背景色:
ui->SeedtableWidget->horizontalHeader()->setStyleSheet( "QHeaderView::section{background-color:transparent}" );
2 在获取Cell的文本时候 一定要做判断 Cell是否为空 否则程序会异常
QTableWidgetItem * QTableWidget::item(int row, int column) const
Returns the item for the given row and column if one has been set; otherwise returns 0.
See also setItem().
原因: Cell为空的话 此时的指针指向的地址为0 所以空指针获取不到文本的。
做如下判断:
if(ui->tableWidget->item(i,j)==NULL||