How change the background color for a blank cell in QTableWidget
Asked Answered
U

1

29

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.

Utta answered 25/3, 2013 at 15:8 Comment(0)
S
40

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.

Snob answered 25/3, 2013 at 15:57 Comment(1)
Fixed a similar problem for me. Any idea why this works and ->background.setColor() does not?Bandbox

© 2022 - 2024 — McMap. All rights reserved.