如何更改QTableWidget中空白单元格的背景色

如何更改QTableWidget中空白单元格的背景色,qt,qt4,qtablewidget,qt4.8,qtablewidgetitem,Qt,Qt4,Qtablewidget,Qt4.8,Qtablewidgetitem,如果单元格有一些数据,请使用 tableWidget->item(8,0)->setBackgroundColor(Qt::red); 更改背景色将起作用,但如果单元格为空,则将失败。除非单元格包含QTableWidgetItem(因为背景色是项目的属性),否则无法设置单元格的背景色 因此,您需要首先用空项填充QTableWidget。在您的示例中,在尝试设置背景色之前创建项目 tableWidget->setItem(8, 0, new QTableWidgetItem);

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

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

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

除非单元格包含
QTableWidgetItem
(因为背景色是项目的属性),否则无法设置单元格的背景色

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

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

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

为我修复了一个类似的问题。你知道为什么这是有效的,而
->background.setColor()
却不行吗?