【问题标题】:how to change QComboBox text background color when mouse hover it(QSS)?鼠标悬停时如何更改 QComboBox 文本背景颜色(QSS)?
【发布时间】:2020-02-14 02:48:13
【问题描述】:

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

简单的qss风格是:

QComboBox:hover {
    background: red;
}

我试试看是这样的。

【问题讨论】:

    标签: pyqt pyqt5 qtstylesheets


    【解决方案1】:

    试试看:

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

    【讨论】:

    • 下拉按钮看起来像凸起的(需要保持平坦),我怎样才能悬停子项目而不将其颜色更改为红色?
    猜你喜欢
    • 1970-01-01
    • 2013-10-07
    • 2010-12-25
    • 1970-01-01
    • 2013-01-23
    • 1970-01-01
    • 2019-03-17
    • 1970-01-01
    相关资源
    最近更新 更多