2013-04-15 115 views
0

我想隱藏我自定義的QTreeWidget的邊框。如何隱藏qtreeview的邊框?

我希望它是相同的,當我選擇一個項目裏面。但是這個特別的大綱根本不起作用。我希望它和第一張圖像一樣。

enter image description here

enter image description here

我使用這段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 
} 

回答

3

邊框和輪廓是不同的東西。看看thisOutline是默認設置爲none的獨立屬性。您的QTreeView周圍的可見線是border屬性,它具有一些默認值。

如果您想刪除邊框,請嘗試設置邊框屬性,如this

QTreeView { 
    border: none; 
} 

有關特定側去除邊框,

QTreeView { 
    border: 1px solid; 
    border-top: none; 
} 

對於選定的項目,你可以使用這個選擇,QTreeView::item,活躍項目(S)QTreeView::item:selected:active和選擇項目(S)QTreeView::item:selected

1

也許這樣嗎?

QTreeView 
{ 
    border: none; 
} 

QTreeView > QScrollArea 
{ 
    border: none; 
} 
+0

哇。什麼是QTreeView> QScrollArea? 是否與 相同QScrollArea QTreeView {}? – darkgaze

+0

Nop。 QTreeView包含QScrollArea。 –

+0

對不起。我的意思是,QTreeView QScrollArea表示樹視圖內的滾動區域。爲什麼使用>? – darkgaze

0

對於下列選定的項目能更好地工作:

QString style = "QTreeWidget::item:!selected " 
    "{ " 
     "border: 1px solid gainsboro; " 
     "border-left: none; " 
     "border-top: none; " 
    "}" 
    "QTreeWidget::item:selected {}"; 
    treeWidget->setStyleSheet(style); 
0

對於選定的項目,樣式表對我的作品更好:

QString style = "QTreeWidget::item:!selected " 
    "{ " 
     "border: 1px solid gainsboro; " 
     "border-left: none; " 
     "border-top: none; " 
    "}" 
    "QTreeWidget::item:selected {}"; 
    allergiesListView->setStyleSheet(style);