28

如果一个单元格有一些数据,使用

tableWidget->item(8,0)->setBackgroundColor(Qt::red);

更改背景颜色将起作用,但如果单元格为空白,它将失败。

4

1 回答 1

38

您不能设置单元格的背景颜色,除非它包含 a QTableWidgetItem(因为背景颜色是项目的属性)。

所以你需要先QTableWidget用空项目填充你的。在您的示例中,在尝试设置背景颜色之前创建项目。

tableWidget->setItem(8, 0, new QTableWidgetItem);
tableWidget->item(8, 0)->setBackground(Qt::red);

另请注意,您应该使用setBackground而不是,setBackgroundColor因为后者已被弃用。

于 2013-03-25T15:57:48.533 回答