有没有一种简单的方法来更改QTableWidget中行的背景颜色?
我知道您可以循环使用QTableWidgetItems并更改它们的颜色,但是,如果我使用了setCellWidget,并且我的单元格不是QTableWidgetItems,该怎么办。我找不到简单的setRowColor方法。似乎应该有,因为有交替行颜色和其他方法。有没有一种简单的方法可以做到这一点而不必对表的委托进行细分 反问:有没有一种简单的方法来更改QTableWidget中行的背景颜色?,qt,qt4,Qt,Qt4,我知道您可以循环使用QTableWidgetItems并更改它们的颜色,但是,如果我使用了setCellWidget,并且我的单元格不是QTableWidgetItems,该怎么办。我找不到简单的setRowColor方法。似乎应该有,因为有交替行颜色和其他方法。有没有一种简单的方法可以做到这一点而不必对表的委托进行细分 反问: 我只想更改行颜色,我真的需要一个全新的类吗?您可以向QTableWidget添加一个样式表,如下所示: QTableWidget::item { backgro
我只想更改行颜色,我真的需要一个全新的类吗?您可以向QTableWidget添加一个样式表,如下所示:
QTableWidget::item {
background-color: rgb(255, 85, 127);
}
您可以按如下方式设置此is代码:
QString _CustomStyle = QString(
"QTableWidget::item {"
"background-color: rgba(162, 186, 60);"
"}";
tableWidget->setStyleSheet(_CustomStyle);
使用您自己的颜色RGB(显然)。我相信使用QTableWidget设置行颜色的最简单方法是遍历小部件项并使用方法指定背景颜色,请参见下面的示例
for (int column=0; column<4; column++)
{
for (int row = 0; row<5; row++)
{
QTableWidgetItem *newItem = new QTableWidgetItem(tr("%1").arg((row+1)*(column+1)));
newItem->setData(Qt::BackgroundRole, (row%2)>0 ? Qt::red : Qt::blue);
ui->tableWidget->setItem(row, column, newItem);
}
}
for(int column=0;column0?Qt::red:Qt::blue);
ui->tableWidget->setItem(行、列、新项);
}
}
如果您想使它更简单,请考虑使用小部件代替,实现您的模型(我猜最简单的方法是子类),并在其中保留行颜色。实现一个setRowColor方法或/和一个插槽来指定数据行的颜色
希望这有帮助,问候谢谢。但是,我实际上是想设置一行的颜色。我相信你的建议会给整个表格上色。我确实使用了CSS,所以我会将其标记为已接受,但我只需要给一行上色。非常感谢!谢谢,但是,当我使用setCellWidget将小部件放入单元格时,我正在寻找一种设置单元格背景的方法。有办法做到这一点吗?