Mam QTreeView
z arkuszem stylów definiującym wybór. Jednak kiedy używam „fusion” styl, istnieje dodatkowy niebieski prostokąt zaznaczenia nad dekoracją:Usuń niebieski wybór z QTreeView w stylu "fusion"
Próbowałem za pomocą show-decoration-selected: 0;
w arkuszu stylów, a także ustawienie setAllColumnsShowFocus(false);
, ale może nie próbuj tego.
Czy jest jakiś sposób wyłączenia lub ponownego dopasowania części selekcji obejmującej dekoratora?
Dla porównania, oto stylów:
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;
}
Niestety, ustawienie koloru palety nie powoduje usunięcia niebieskiego artefaktu. Palety nie są szeroko szanowane przez style Qt i zazwyczaj nie ładnie grają z arkuszami stylów. –
@NicolasHolthaus Z wyjątkiem tego, że obecnie używam arkusza stylów i to jedyny sposób, w jaki udało mi się pozbyć niebieskiego podkreślenia we wszystkich widżetach. Podane przeze mnie rozwiązanie jest również używane przez niektóre repozytoriów arkuszy stylów na GitHub. Zrobiłem to dokładnie z repozytorium QDarkStyle. –
Wszystko, co mogę powiedzieć, to nie rozwiązało problemu w mojej aplikacji, ale właściwość "selection-background-color". Być może używamy różnych wersji Qt (używam wersji 5.4.2), a może główna przyczyna naszego problemu nie była taka sama. –