我有一個QTreeView
與樣式表定義選擇。然而,當我使用了「融合」的風格,還有一個額外的藍色矩形選擇在裝修:從「融合」風格中刪除QTreeView中的藍色選擇
我在樣式表中使用show-decoration-selected: 0;
,以及設置setAllColumnsShowFocus(false);
嘗試,但能不要讓它消失。
是否有某種方法可以禁用或重新設置包含裝飾器的選擇部分?
僅供參考,這裏的樣式表:
QTreeView, QListView, QToolBar, QTableView
{
show-decoration-selected: 0;
background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0,
stop: 0 #797979, stop: 0.2 #CCCCCC,
stop: 1.0 #FFFFFF);
alternate-background-color: #333333;
background-image: url(:/metal_scratched);
outline: 0; /* removes focus rectangle*/
}
QTreeView::section, QListView::section, QToolBar::section, QTableView::section
{
border: 1px solid black;
}
QTreeView::item:hover:enabled, QListView::item:hover:enabled, QToolBar::item:hover:enabled, QTableView::item:hover:enabled
{
background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
stop: 0 transparent, stop: 0.4 rgba(150,150,150,0.5),
stop: 0.5 rgba(125,125,125,0.5), stop: 1.0 transparent);
border-color: #B0B0B0;
}
QTreeView::item:hover:!enabled, QListView:disabled:hover, QToolBar:disabled:hover, QTableView:disabled:hover
{
/* don't highlight */
}
QTreeView::item:selected, QListView::item:selected, QToolBar::item:selected, QTableView::item:selected
{
background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
stop: 0 transparent, stop: 0.4 rgba(75,75,75,0.5),
stop: 0.5 rgba(50,50,50,0.5), stop: 1.0 transparent);
border-color: #5A5A5A;
color: white;
}
不幸的是,設置調色板的顏色並不能消除藍色的工件。調色板沒有得到Qt風格的廣泛認可,通常不能很好地與樣式表配合使用。 – 2015-03-23 11:25:19
@NicolasHolthaus除了我正在使用樣式表及其唯一的方式,我能夠成功擺脫所有小部件中的藍色突出顯示。我提供的解決方案也被GitHub上的一些樣式表回購使用。我從QDarkStyle回購確切地說。 – 2015-03-24 13:01:33
我只能說,它並沒有解決我的應用程序中的問題,但'選擇背景顏色'屬性。也許我們使用的是不同的Qt版本(我使用的是5.4.2),或者我們問題的根本原因可能並不相同。 – 2015-03-24 13:29:43