如何设置QTreeWidget表头颜色和隐藏分界线?

How to set the QTreeWidget's header color and hide the dividing line?

我想在使用 QWidget 时更改页眉的背景颜色。我尝试了以下方法,但它们没有用:

QTreeWidgetItem * header = ui->treeWidget->headerItem(); 
header->setBackground(0, QBrush(QColor(185,192,201)));
header->setBackgroundColor(0, QColor(185,192,201));

setStyleSheet("QHeaderView::section { background-color:red }");

我也想知道如何隐藏页眉的分割线?

为什么不只使用样式表?

YourQTreeWidget QHeaderView::section {
    background-color: red; // for the bakcground
    border-right: none; // right-border of each section
    border-left: none;  // left border of each section
}

如您所见,here(如您在示例中所见)setBackgroundColor 不适用于 header 项(我怀疑这是由于 header 和行项目)。 您应该重新实现 QHeaderView 或尝试上述选项。

我找到了改变页眉样式的方法,但我不知道为什么我以前的方法不起作用。

QHeaderView::section {                          
    color: black;                               
    padding: 2px;                               
    height:20px;                                
    border: 0px solid #567dbc;                  
    border-left:0px;                            
    border-right:0px;                           
    background: #f9f9f9;                        
}