鼠标悬停时如何更改 QComboBox 文本背景颜色(QSS)?

how to change QComboBox text background color when mouse hover it(QSS)?

我需要在鼠标悬停时将 QComboBox 背景更改为红色;但是在我的 qss 样式中,QComboBox drop-down 按钮变为红色并且下拉菜单看起来很奇怪(需要保持系统默认设置),它看起来像凸起的样式,这不是我想要的。

简单的qss风格是:

QComboBox:hover {
    background: red;
}

我试的时候是这样的

试一试:

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_())