无法设定tablewidget表头背景色

ok5588888 2016-12-22 11:10:49
下面的程序,除了设置表头项的背景色(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();
}
...全文
1107 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
小二二vvvv 2020-06-09
  • 打赏
  • 举报
回复 1
self.tableWidget.horizontalHeader().setStyleSheet("QHeaderView::section{background:skyblue; \n"
"font: 12pt \"等线\";}") # 设置表头背景色及字体颜色
guoke312 2017-02-17
  • 打赏
  • 举报
回复
同求,stylesheet不能设置指定的表头。
clz2012 2017-01-05
  • 打赏
  • 举报
回复
stylesheet比用直接调用函数更强大有效
slowlytalk 2017-01-04
  • 打赏
  • 举报
回复
ui->tableWidget->horizontalHeader()->setStyleSheet("QHeaderView::section{background:skyblue;}");
佳朗 2016-12-23
  • 打赏
  • 举报
回复
用 stylesheet试试,百度stylesheet
ok5588888 2016-12-22
  • 打赏
  • 举报
回复
请各位大神看看,这到底是什么原因。 谢谢

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧