无法设定tablewidget表头背景色
下面的程序,除了设置表头项的背景色(backgroud)不起作用,其他一切正常。
也曾经尝试用setBackgroundColor(),但都对表头项的背景色不起作用。
奇怪的是对表头项的前景色setForeground却没问题。而且对一般表项一切OK!
如何解决设置表头项的背景色?
谢谢!
#include <QApplication>
#include <QTableWidget>
#include <QTableWidgetItem>
#include <QHeaderView>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTableWidget *table = new QTableWidget;
table->setColumnCount(4);
table->setRowCount(2);
QStringList header;
header<<"1"<<"2"<<"3"<<"4";
table->setHorizontalHeaderLabels(header);
for(int i=0; i<4; i++)
{
QString strtmp;
QTableWidgetItem *columnHeaderItem = table->horizontalHeaderItem(i);
columnHeaderItem->setBackground(QBrush(QColor(0,255,0)));//设置表头项的背景色不起作用,为什么???
columnHeaderItem->setForeground(QBrush(QColor(0,0,255)));///////设置表头项的前景色OK!
columnHeaderItem->setText(strtmp.setNum(i));
table->setHorizontalHeaderItem(i,columnHeaderItem);
QTableWidgetItem *columnHeaderItem1 = new QTableWidgetItem;
columnHeaderItem1->setBackground(QBrush(QColor(0,255,0)));/////设置表项的背景色OK!
columnHeaderItem1->setForeground(QBrush(QColor(255,0,0)));
columnHeaderItem1->setText(strtmp.setNum(i+4));
table->setItem(0,i,columnHeaderItem1);
QTableWidgetItem *columnHeaderItem2 = new QTableWidgetItem;
columnHeaderItem2->setBackground(QBrush(QColor(255,255,0)));///////////////设置表项的背景色OK!
columnHeaderItem2->setForeground(QBrush(QColor(0,0,255)));
columnHeaderItem2->setText(strtmp.setNum(i+8));
table->setItem(1,i,columnHeaderItem2);
}
table->show();
return a.exec();
}