我想隐藏QTreeWidget的边框我正在定制。
当我在里面选择一个项目时,我希望它是一样的。但是这个特殊的大纲根本不起作用。我希望它与第一张图像相同。
我使用这段css代码:
QTreeView {
show-decoration-selected: 0;
background: transparent;
}
QTreeView::item:selected
{
background-color: #00CDDF;
font-weight: bold;
outline: none;
}
QTreeView::branch:selected {
background-color: #00CDDF;
outline: none
}
答案 0 :(得分:3)
边界和轮廓是不同的东西。看看this。 Outline
是单独的属性,默认情况下设置为none
。 QTreeView
周围的可见行是border
属性,其中包含一些默认值。
如果要删除边框,请尝试设置this等边框属性。
QTreeView {
border: none;
}
要删除特定边的边框,
QTreeView {
border: 1px solid;
border-top: none;
}
对于所选项目,您可以将此选择器QTreeView::item
用于有效商品QTreeView::item:selected:active
和所选商品QTreeView::item:selected
。
答案 1 :(得分:1)
也许是这样的?
QTreeView
{
border: none;
}
或
QTreeView > QScrollArea
{
border: none;
}
答案 2 :(得分:0)
对于以下选定的项目,对我来说效果更好:
QString style = "QTreeWidget::item:!selected "
"{ "
"border: 1px solid gainsboro; "
"border-left: none; "
"border-top: none; "
"}"
"QTreeWidget::item:selected {}";
treeWidget->setStyleSheet(style);
答案 3 :(得分:0)
对于选定的项目,这样的样式表对我来说效果更好:
QString style = "QTreeWidget::item:!selected "
"{ "
"border: 1px solid gainsboro; "
"border-left: none; "
"border-top: none; "
"}"
"QTreeWidget::item:selected {}";
allergiesListView->setStyleSheet(style);