web-dev-qa-db-ja.com

QTableWidgetの空白セルの背景色を変更する方法

セルにデータがある場合は、

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

背景色を変更することは機能しますが、セルが空白の場合は失敗します。

21
spy8888

QTableWidgetItemが含まれていない限り、セルの背景色は設定できません(背景色はアイテムのプロパティであるため)。

したがって、最初にQTableWidgetに空のアイテムを入力する必要があります。この例では、背景色を設定する前にアイテムを作成します。

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

後者は非推奨であるため、setBackgroundの代わりにsetBackgroundColorを使用する必要があることにも注意してください。

30
Daniel Hedberg