czxt3000 2023-12-07 09:39 采纳率: 59.8%
浏览 275
已结题

QComboBox的下拉框背景色怎么设置?

img


用setStyleSheet("background-color:rgba(255,255,255,1);")设置无效。

  • 写回答

4条回答 默认 最新

  • 关注

    设置QComboBox下拉框的背景不是直接设置,需要指明设定样式的子部件才行。
    先上效果图(图中由设置样式的代码和说明,示例代码在图下面):

    img

    示例代码:

    import sys
    from PyQt5.QtWidgets import QApplication, QWidget, QComboBox
    
    
    def main():
        app = QApplication(sys.argv)
        w = QWidget()
        w.resize(500, 400)
        w.move(300, 300)
        w.setWindowTitle('Simple')
    
        cmbox = QComboBox(w)
        cmbox.resize(100,22)
        cmbox.addItem("条目1")
        cmbox.addItem("条目2")
        cmbox.addItem("条目3")
        cmbox.move(30,10)
    
        # 第一行字符串设置下拉框的样式为蓝色背景,红色边框
        # 第二行字符串设置选中条目的样式为绿色背景,白色字体
        sty = ''' 
        QComboBox QAbstractItemView {background-color: blue; border: 1px solid red;}
        QComboBox QAbstractItemView::item:selected {background-color: green;color: whilte;} 
        '''
        cmbox.setStyleSheet(sty)
    
    
        w.show()
    
        sys.exit(app.exec_())
    
    if __name__ == '__main__':
        main()
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 12月15日
  • 已采纳回答 12月7日
  • 修改了问题 12月7日
  • 创建了问题 12月7日