Setting background of HeadData for QTableView is doesn't work
- 
try using background-color. At least in the "docs":http://qt-project.org/doc/qt-4.8/stylesheet-examples.html#customizing-qheaderview they use it?? 
- 
This code isworking. 
 tableView->horizontalHeader()->setStyleSheet("QHeaderView::section{background:skyblue;}");
 But it is not metting my dynamic setting color on any rows or colums with HeadData.
 [quote author="raven-worx" date="1371192413"]try using background-color. At least in the "docs":http://qt-project.org/doc/qt-4.8/stylesheet-examples.html#customizing-qheaderview they use it??[/quote]
- 
According to the documentation, using the background role should work. I see no obvious mistake in your code from your first post. Please prepare a small test case to demonstrate the issue in isolation. First post, so we can have a look. Then, if it turns out to be a bug, file a bug report. 
- 
OK. 
 [quote author="Andre" date="1371196833"]According to the documentation, using the background role should work. I see no obvious mistake in your code from your first post. Please prepare a small test case to demonstrate the issue in isolation. First post, so we can have a look. Then, if it turns out to be a bug, file a bug report.[/quote]
- 
TestBackground.pro 
 @
 QT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = TestBackground 
 TEMPLATE = appSOURCES += main.cpp 
 mainwindow.cpp
 tablemodel.cppHEADERS += mainwindow.h 
 tablemodel.h
 @tablemodel.h 
 @
 #ifndef TABLEMODEL_H
 #define TABLEMODEL_H
 #include <QAbstractTableModel>class TableModel : public QAbstractTableModel 
 {
 Q_OBJECT
 public:
 TableModel(QObject *parent = 0);
 int rowCount(const QModelIndex &parent) const;
 int columnCount(const QModelIndex &parent) const;
 QVariant data(const QModelIndex &index, int role) const;
 QVariant headerData(int section, Qt::Orientation orientation, int role) const;
 private:
 };
 #endif@ tablemodel.cpp 
 @
 #include "tablemodel.h"
 #include <QColor>
 #include <QBrush>
 #include <qDebug>
 #include <QString>TableModel::TableModel(QObject *parent) 
 : QAbstractTableModel(parent)
 {
 }int TableModel::rowCount(const QModelIndex &parent) const 
 {
 Q_UNUSED(parent);
 return 2;
 }int TableModel::columnCount(const QModelIndex &parent) const 
 {
 Q_UNUSED(parent);
 return 2;
 }QVariant TableModel::data(const QModelIndex &index, int role) const 
 {
 if (!index.isValid())
 return QVariant();if (role == Qt::DisplayRole) { if (index.column() == 0) return QString("zhang san"); else if (index.column() == 1) return QString("china"); } if(role == Qt::BackgroundRole) { if (index.column() == 0) return QVariant(QColor(Qt::green)); else if (index.column() == 1) return QVariant(QColor(Qt::green)); } return QVariant();} QVariant TableModel::headerData(int section, Qt::Orientation orientation, int role) const 
 {
 if (role == Qt::DisplayRole)
 {
 if (orientation == Qt::Horizontal) {
 switch (section) {
 case 0:
 return tr("Name");
 case 1:
 return tr("Address");default: return QVariant(); } } } if(role == Qt::ForegroundRole) { if (orientation == Qt::Horizontal) { switch (section) { case 0: return QVariant(QColor(Qt::blue)); case 1: return QVariant(QColor(Qt::blue)); default: return QAbstractTableModel::headerData(section,orientation,role); } } } if(role ==Qt::BackgroundRole) { //if(orientation == Qt::Vertical) if (orientation == Qt::Horizontal) { switch (section) { case 0: qDebug() << "case 0"; return QBrush(QColor(Qt::red)); case 1: qDebug() << "case 1"; return QVariant(QColor(Qt::red)); default: qDebug() << "default"; return QAbstractTableModel::headerData(section,orientation,role); } } } return QVariant();} 
 @mainwindow.h 
 @
 #ifndef MAINWINDOW_H
 #define MAINWINDOW_H
 #include <QMainWindow>
 #include <QTableView>
 #include <tablemodel.h>
 class MainWindow : public QMainWindow
 {
 Q_OBJECT
 public:
 explicit MainWindow(QWidget *parent = 0);
 ~MainWindow();
 private:
 TableModel * table;
 };
 #endif
 @mainwindow.cpp 
 @
 #include "mainwindow.h"MainWindow::MainWindow(QWidget *parent) : 
 QMainWindow(parent)
 {
 table = new TableModel(this);
 QTableView *tableView = new QTableView;
 tableView->setModel(table);
 setCentralWidget(tableView);
 }
 MainWindow::~MainWindow()
 {
 }
 @main.cpp 
 @
 #include "mainwindow.h"
 #include <QApplication>int main(int argc, char *argv[]) 
 {
 QApplication a(argc, argv);
 MainWindow w;
 w.show();
 return a.exec();
 }
 @Setting background of HeadData for QTableView is doesn’t work. Is it a bug for Qt ? 
 My original post is here:
 http://qt-project.org/forums/viewthread/28840/#129491
- 
Please "file a bug report":https://bugreports.qt-project.org/ for things you consider to be a bug. The bugtracker is a way better tool to discuss (possible) bugs than this forum. 
- 
[quote author="csding" date="1371345306"]U p![/quote] Well... we agreed you'd create a small, self-contained, compile-able example demonstrating the issue. Based on that, I said we could take a look to see if the error is on your side after all, or you have found a bug in Qt. So far, I haven't seen anything of the sort. 
- 
I have posted the small,self-contained, compile-able example in a new another thread. You can visit on http://qt-project.org/forums/viewthread/28901/ 
 Sorry, maybe i should notice you with it intime.[quote author="Andre" date="1371451763"] 
 [quote author="csding" date="1371345306"]U p![/quote]Well... we agreed you'd create a small, self-contained, compile-able example demonstrating the issue. Based on that, I said we could take a look to see if the error is on your side after all, or you have found a bug in Qt. So far, I haven't seen anything of the sort.[/quote] 
- 
First i want to know whether it is a bug in Qt, if true, i can write a bug report hand in. Waitting you testing for it. 
 thanks!.[quote author="Andre" date="1371454106"]I merged the two topics. Please don't start more than one topic on the same issue. Tobias: I asked for the example as a form of bug triaging even before it ends up in the tracker :) [/quote] 
- 
Please download the small case visit on: 
 http://pan.baidu.com/share/link?shareid=3014503980&uk=3070491333
