Как изменить цвет фона раскрывающегося списка при наведении qcombobox?

Мне нужно изменить фон кнопки раскрывающегося списка QComboBox при наведении курсора мыши на QComboBox.

Я не понимаю, как это сделать?

Если бы я написал

QComboBox::drop-down:hover

это было бы неправильно, потому что это селектор для кнопки раскрывающегося списка, а не для QComboBox.

UPD: Я имею в виду вот эту кнопку:

введите здесь описание изображения

::drop-down - кнопка раскрывающегося списка QComboBox.

ОТВЕТ:

Не удалось добиться желаемого поведения с помощью QSS. Это нужно реализовать вручную с помощью событий.


person AeroSun    schedule 12.10.2018    source источник
comment
что такое drop-down button?   -  person eyllanesc    schedule 12.10.2018
comment
@eyllanesc, согласно документации qt, раскрывающаяся кнопка QComboBox - это кнопка, над которой размещен элемент со стрелкой вниз.   -  person AeroSun    schedule 12.10.2018
comment
вы пробовали QComboBox::hover{} в таблице стилей?   -  person Redanium    schedule 12.10.2018
comment
@Redanium, главная проблема в том, что я понятия не имею, как получить доступ к раскрывающейся кнопке из QComboBox::hover{}   -  person AeroSun    schedule 12.10.2018
comment
@AeroSun Вы можете указать ссылку, где вы это указываете.   -  person eyllanesc    schedule 12.10.2018
comment
@AeroSun Вы могли бы показать мне изображение, на котором указан этот элемент, и, возможно, таким образом я смогу вам помочь.   -  person eyllanesc    schedule 12.10.2018
comment
из Qt документа QComboBox::drop-down:hover { image: url(dropdown_bright.png) }   -  person Redanium    schedule 12.10.2018
comment
@eyllanesc, обновляю пост   -  person AeroSun    schedule 12.10.2018
comment
@Redanium, нет, мне нужно другое поведение. Ваш код изменяет раскрывающийся список при наведении курсора мыши. Но мне нужно изменить раскрывающийся список при наведении курсора мыши на QComboBox   -  person AeroSun    schedule 12.10.2018
comment
@AeroSun, мы называем это QComboBox::down-arrow, которое вы хотите изменить... так что попробуйте это QComboBox::down-arrow:hover{}   -  person Redanium    schedule 12.10.2018
comment
@Redanium, стрелка вниз - это отдельный элемент - это черный треугольник внутри раскрывающейся кнопки в сообщении UPD.   -  person AeroSun    schedule 12.10.2018
comment
Хм, это QComboBox::drop-down:button:hover{}   -  person Redanium    schedule 12.10.2018


Ответы (1)


См. Стиль QComboBox

Если я не ошибаюсь, вы должны реализовать свой собственный метод void QComboBox::mouseMoveEvent(QMouseEvent *event), когда мышь наводит курсор на поле со списком, мы меняем его таблицу стилей QComboBox::StyleSheet

QComboBox{
 ...
 backround:red;
 ...
}

и после, когда мышь выходит из нашего списка, мы сбрасываем таблицу стилей по умолчанию.

QComboBox{
}
person Redanium    schedule 12.10.2018
comment
Так что, просто используя стиль, я не мог добиться желаемого поведения? - person AeroSun; 12.10.2018
comment
Так что я был прав :) - person Redanium; 12.10.2018