如何设置QTreeWidget标头颜色并隐藏分割线?
Posted
技术标签:
【中文标题】如何设置QTreeWidget标头颜色并隐藏分割线?【英文标题】:How to set the QTreeWidget's header color and hide the dividing line? 【发布时间】:2017-12-26 10:48:49 【问题描述】:我想在使用 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 ");
我也想知道如何隐藏表头的分割线?
【问题讨论】:
【参考方案1】:我找到了一种改变标题样式的方法,但我不知道为什么我以前的方法不起作用。
QHeaderView::section
color: black;
padding: 2px;
height:20px;
border: 0px solid #567dbc;
border-left:0px;
border-right:0px;
background: #f9f9f9;
【讨论】:
【参考方案2】:你为什么不只使用样式表?
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
【讨论】:
我试过了,你的代码不起作用,但是我发现下面的代码很有用。我不知道你的代码为什么不起作用。QHeaderView::section color: black; padding: 2px; height:20px; border: 0px solid #567dbc; border-left:0px; border-right:0px; background: #f9f9f9;
【参考方案3】:
您可以阅读here(以及您在示例中看到的)setBackgroundColor
不适用于标题项目(我怀疑这是由于标题和行项目之间的差异)。
您应该重新实现QHeaderView
或尝试上述选项。
【讨论】:
以上是关于如何设置QTreeWidget标头颜色并隐藏分割线?的主要内容,如果未能解决你的问题,请参考以下文章
如何更改标签颜色并设置 y 轴值 1k 间隔并隐藏 y 轴?