2013-03-25 55 views
16

改變背景顏色的空白單元格如果單元格中有一些數據,利用如何在QTableWidget的

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

改變背景顏色會工作,但如果一個單元格爲空就會失敗。

回答

22

除非包含QTableWidgetItem(因爲背景色是項目的屬性),否則不能設置單元格的背景顏色。

因此,您需要首先填充空白項目的QTableWidget。在您的示例中,在嘗試設置背景顏色之前創建該項目。

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

另外請注意,您應該使用setBackground代替setBackgroundColor因爲後者已經過時了。

+0

爲我解決了類似的問題。任何想法,爲什麼這個工程和' - > background.setColor()'不? – 2014-05-20 20:47:10