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

spy*_*888 20 qt qt4 qtablewidget qtablewidgetitem qt4.8

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

tableWidget->item(8,0)->setBackgroundColor(Qt::red);
Run Code Online (Sandbox Code Playgroud)

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

Dan*_*erg 29

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

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

tableWidget->setItem(8, 0, new QTableWidgetItem);
tableWidget->item(8, 0)->setBackground(Qt::red);
Run Code Online (Sandbox Code Playgroud)

另请注意,您应该使用setBackground而不是setBackgroundColor后者被弃用.