Я скопировал код из многочисленных источников, и таблица стилей для моего QComboBox выглядит так:
QComboBox {
border: 1px solid gray;
border-radius: 3px;
padding: 1px 18px 1px 3px;
min-width: 6em;
}
QComboBox QListView::item {
background:green;
}
QComboBox:!editable, QComboBox::drop-down:!editable {
background: red;
}
/* QComboBox gets the "on" state when the popup is open */
QComboBox:!editable:on, QComboBox::drop-down:editable:on {
background: blue;
}
QComboBox:on { /* shift the text when the popup opens */
padding-top: 3px;
padding-left: 4px;
}
QComboBox::drop-down {
subcontrol-origin: padding;
subcontrol-position: top right;
width: 15px;
border-left-width: 1px;
border-left-color: darkgray;
border-left-style: solid; /* just a single line */
border-top-right-radius: 3px; /* same radius as the QComboBox */
border-bottom-right-radius: 3px;
}
QComboBox::down-arrow {
image: url(/usr/share/icons/crystalsvg/16x16/actions/1downarrow.png);
}
QComboBox::down-arrow:on { /* shift the arrow when popup is open */
top: 1px;
left: 1px;
}
QComboBoc QListView {
show-decoration-selected: 1; /* make the selection span the entire width of the view */
}
QComboBoc QListView::item:alternate {
background: #EEEEEE;
}
QComboBoc QListView::item:selected {
border: 1px solid #6a6ea9;
}
QComboBoc QListView::item:selected:!active {
background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
stop: 0 #ABAFE5, stop: 1 #8588B2);
}
QComboBoc QListView::item:selected:active {
background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
stop: 0 #6a6ea9, stop: 1 #888dd9);
}
QComboBoc QListView::item:hover {
background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
stop: 0 #FAFBFE, stop: 1 #DCDEF1);
}
QComboBox QAbstractItemView {
border: 2px solid orange;
selection-background-color: green;
}
QComboBox::item:!enabled {
color:green;
}
QListView::item:selected {
background: orange;
}
К этому моменту я ожидал, что хотя бы один из них сработает.
Вот как это выглядит сейчас:
Перед нажатием кнопки выпадающего списка:
После нажатия раскрывающегося списка кнопка:
С невыбранными предметами практически ничего не сделано. Опять же, я просто смешал их, так как предполагал, что хотя бы один из них сработает, но ничего не вышло. Если я правильно помню, таблица стилей отдает приоритет стилю, который придет позже, поэтому, если бы кто-то из них работал, я думаю, этот огромный кусок кода изменил бы его.
Ради понимания, я хочу изменить белый фон на видимый цвет, отличный от синего или красного (так как они уже используются). Подойдет что-то вроде зеленого, желтого или оранжевого.
Просто нужно выяснить, как это изменить.
Есть идеи?