您的位置:首页 > 编程语言 > Qt开发

Qt:QTableWidget 使用的相关问题

2016-05-10 17:57 585 查看
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||             //判断指向该cell的指针是否为空
(ui->tableWidget->item(i,j)&&
ui->tableWidget->item(i,j)->text()==tr(""))  //判断该cell的text是否为空
{
//TODO:edit your code here
}


参考文献:

QTablewidget使用详情

表头背景色设置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  qt