How change the background color for a blank cell i

2019-02-16 06:22发布

问题:

If a cell have some data, using

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

to change the background color will work, but if a cell is blank it will fail.

回答1:

You cannot set the background color of a cell unless it contains a QTableWidgetItem (as the background color is a property of the item).

So you need to populate your QTableWidget with empty items first. In your example, create the item before you attempt to set the background color.

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

Please also note that you should use setBackground instead of setBackgroundColor as the latter is deprecated.