Ho un QTreeView
con un foglio di stile che definisce la selezione. Tuttavia, quando uso lo stile "fusion", v'è un ulteriore rettangolo blu di selezione sulla decorazione:Rimuovi la selezione blu da QTreeView in stile "fusione"
Ho provato con show-decoration-selected: 0;
nel foglio di stile, così come l'impostazione setAllColumnsShowFocus(false);
, ma può non farlo andare via.
C'è un modo per disattivare o restyling la parte della selezione che copre il decoratore?
Per riferimento, ecco il foglio di stile:
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;
}
Sfortunatamente, l'impostazione del colore della tavolozza non rimuove l'artefatto blu. Le tavolozze non sono ampiamente rispettate dagli stili Qt e di solito non funzionano bene con i fogli di stile. –
@NicolasHolthaus Tranne che attualmente sto usando un foglio di stile ed è l'UNICO modo in cui sono riuscito a eliminare con successo l'evidenziazione blu in tutti i widget. La soluzione che ho dato è anche usata da alcuni repository di fogli di stile su GitHub. L'ho preso dal repository QDarkStyle per essere esatto. –
Tutto quello che posso dire è che non ha risolto il problema nella mia applicazione, ma la proprietà 'selection-background-color' ha fatto. Forse stiamo usando diverse versioni di Qt (sto usando 5.4.2), o forse la causa principale del nostro problema non era la stessa. –