Changer la couleur d'arrière-plan de ComboBox dans PyQt
Commerçant
J'essaye de changer la couleur de l'arrière-plan de la combobox. Je veux qu'il soit blanc, mais je ne peux pas lui donner une couleur différente du gris. La photo du haut est ce que je reçois, et celle du bas est ce que je recherche.
Voici mon code:
from PyQt5 import QtWidgets, QtGui
class combodemo(QtWidgets.QWidget):
def __init__(self, parent = None):
super(combodemo, self).__init__(parent)
layout = QtWidgets.QHBoxLayout()
self.cb = QtWidgets.QComboBox()
self.cb.addItem("1")
self.cb.addItem("2")
pal = self.cb.palette()
pal.setColor(self.cb.backgroundRole(),QtGui.QColor(255,255,255))
self.cb.setPalette(pal)
self.cb.setAutoFillBackground(True)
layout.addWidget(self.cb)
self.setLayout(layout)
if __name__ == '__main__':
app = QtWidgets.QApplication([])
ex = combodemo()
ex.show()
app.exec_()
Eyllanesc
Vous devez changer la couleur du QPalette::Button
rôle:
from PyQt5 import QtWidgets, QtGui
class combodemo(QtWidgets.QWidget):
def __init__(self, parent = None):
super(combodemo, self).__init__(parent)
layout = QtWidgets.QHBoxLayout(self)
self.cb = QtWidgets.QComboBox()
self.cb.addItems(["1", "2"])
pal = self.cb.palette()
pal.setColor(QtGui.QPalette.Button, QtGui.QColor(255,255,255))
self.cb.setPalette(pal)
layout.addWidget(self.cb)
if __name__ == '__main__':
import sys
app = QtWidgets.QApplication(sys.argv)
ex = combodemo()
ex.show()
sys.exit(app.exec_())
Sous Windows, vous avez besoin de:
app.setStyle("fusion")