📅  最后修改于: 2023-12-03 15:33:51.293000             🧑  作者: Mango
在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的背景颜色修改为白色。
效果截图:
代码片段已经标明markdown。