如何使 qtreewidget header 透明?

How do I make qtreewidget header transparent?

我想让 treewidget header 看起来像一个标签,所以,我想,我必须让它透明?我该怎么做?

我尝试了 treeWidget->setStyleSheet("QTreeWidget::header {background-color: transparent}"); 但它不起作用。

header 不是项目视图的子控件,因此 QTreeWidget::header 将不起作用。 header 而不是视图的 children 小部件。 这意味着您可以使用 QTreeWidget QHeaderView {/*style here*/ }

通过样式表访问 header

对于 header 视图的背景颜色,您可以查看 official Qt example

在您的情况下,当您将样式表直接设置到视图时,您可以省略 parent,因此以下内容将按照您的要求执行:

treeWidget->setStyleSheet("QHeaderView::section { background-color: transparent; }");

为了设置 headers 透明,您必须将以下内容添加到小部件样式表:

QAbstractItemView QHeaderView {
    show-decoration-selected: 0;
    background: transparent;
}
QAbstractItemView::section QHeaderView::section {
    show-decoration-selected: 0;
    background: transparent;
}