как изменить цвет фона текста QComboBox при наведении курсора мыши (QSS)? - PullRequest
0 голосов
/ 17 октября 2019

Мне нужно изменить фон QComboBox на красный, когда мышь наводит на него, но в моем стиле qss кнопка QComboBox drop-down меняется на красный, а выпадающий список выглядит странным (нужно сохранить системное значение по умолчанию), он выглядит как поднятыйстиль, который я не хотел.

Простой стиль qss:

QComboBox:hover {
    background: red;
}

Выглядит так, когда я пытаюсь.

1 Ответ

3 голосов
/ 17 октября 2019

Попробуйте:

import sys
from PyQt5 import QtWidgets

class Main(QtWidgets.QWidget):
    def __init__(self):
        super(Main, self).__init__()

        sheets = [str(i) for i in range(1, 10)]  

        combo = QtWidgets.QComboBox()
        combo.addItems(sheets)                             

        layout = QtWidgets.QVBoxLayout()
        layout.addWidget(combo)
        self.setLayout(layout)


StyleSheet = """ 
QComboBox {
    border: 1px solid gray;
    border-radius: 3px;
    padding: 1px 18px 1px 3px;
    min-width: 6em;
}
QComboBox:hover {
    background: red;
    color: #fff;
}

"""

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    app.setStyleSheet(StyleSheet)
    main = Main()
    main.show()
    sys.exit(app.exec_())

enter image description here

...