📌  相关文章
📜  PyQt5 - 关闭状态下可编辑组合框的背景颜色(1)

📅  最后修改于: 2023-12-03 15:33:51.293000             🧑  作者: Mango

PyQt5 - 关闭状态下可编辑组合框的背景颜色

在PyQt5中,可编辑组合框(QComboBox)的背景颜色在关闭状态下默认为灰色,在某些情况下可能需要修改为其他颜色。

我们可以通过自定义QComboBox的样式表实现修改。

示例代码:

from PyQt5.QtWidgets import QApplication, QComboBox, QWidget, QVBoxLayout
from PyQt5.QtCore import Qt

class ComboBox(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        vbox = QVBoxLayout()

        self.comboBox = QComboBox()
        self.comboBox.addItems(['A', 'B', 'C'])
        self.comboBox.setEditable(True)

        vbox.addWidget(self.comboBox)

        self.setLayout(vbox)

        # 设置QComboBox的样式表
        self.setStyleSheet('QComboBox:!enabled { background-color: white; }')

if __name__ == '__main__':
    app = QApplication([])
    combobox = ComboBox()
    combobox.show()
    app.exec()

代码说明:

  • 我们创建了一个ComboBox类继承自QWidget,并在其构造函数中创建了一个可编辑的QComboBox,并将QComboBox添加到一个垂直布局中。

  • 我们重写了QWidget的setStyleSheet方法,通过设置样式表的方式,将QComboBox的背景颜色修改为白色。

效果截图:

image

代码片段已经标明markdown。