我正在尝试设置 QTableWidgetItem 的背景颜色,但它有效吗? 当我尝试更改文本颜色时,它工作没有任何问题..
代码:
void myWin::myFunction(int count, QVector<QColor> sampleInfoColor, QVector<QStringList> info)
{
...
sampleTable->setRowCount(count + 1);
QFont nameFont;
nameFont.setBold(true);
...
for(int i=0; i<count; i++)
{
...
QTableWidgetItem *name = new QTableWidgetItem("Text");
name->setFont(nameFont);
sampleTable->setItem(i+1, 0, name);
name->setBackground(sampleInfoColor[i]);
...
}
}
我也尝试过这个,但它也不起作用..:
sampleTable.item(nRow, nCol)->setBackground(QColor);
我做错了什么?
你能尝试一下吗:
name->setBackground( QBrush( sampleInfoColor[i] ) );
你可以使用cellWidget的方式,把QLabel放入QTableWidget,然后设置QLabel的颜色。
ui_->tableWidget_tp->setItem(row, col, new QTableWidgetItem);
ui_->tableWidget_tp->setCellWidget(row, col++, label);
label->setStyleSheet("background-color: rgb(0, 229, 0);");
或者继承QTableWidgetItem,重新实现QPainter,不过这种相对来说比较麻烦。