以下是我目前正在尝试的内容。标题文本正确更改颜色,但背景不会更改默认值。
template<typename T>
inline QVariant TableModel<T>::headerData(int section, Qt::Orientation orientation, int role) const
{
//...
else if(role == Qt::BackgroundRole) {
return QBrush(m_display.headerBackground);
}
//...
}
如何设置背景颜色?
答案 0 :(得分:17)
您可以在QTableView上设置样式表
ui->tableView->setStyleSheet("QHeaderView::section { background-color:red }");
答案 1 :(得分:2)
这是另一种解决方案。
MyTableView::MyTableView( QWidget* parent ) : QTableView( parent )
{
...
// Make a copy of the current header palette.
QPalette palette = horizontalHeader()->palette();
// Set the normal/active, background color
// QPalette::Background is obsolete, use QPalette::Window
palette.setColor( QPalette::Normal, QPalette::Window, Qt::red );
// Set the palette on the header.
horizontalHeader()->setPalette( palette );
}