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.

entrez la description de l'image ici

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::Buttonrô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")

Articles connexes


Comment changer la couleur d'arrière-plan dans PyQt4

Sebiancoder Je suis vraiment nouveau sur PyQt4 (je viens d'apprendre ce que c'est il y a deux jours) et je sais que cette question a probablement une réponse très facile mais je ne la trouve nulle part. J'essaie de changer la couleur de fond de la fenêtre en n

Changer la couleur d'arrière-plan de l'emplacement PyQt

John J'aimerais pouvoir changer la couleur de mon application à partir d'un slot. Par exemple, si l'utilisateur entre des données erronées dans qlabeltout le QWidget devient rouge. Il est facile de changer simplement la couleur du code avant la méthode show(),

Changer la couleur d'arrière-plan dans PNotify

jac J'utilise un thème, le thème d'administration Porto ; http://preview.oklerthemes.com/porto-admin/3.0.0/ui-elements-notifications.html Ce thème utilise PNotify pour envoyer des notifications : https://sciactive.com/pnotify/ Je souhaite effectuer les notific

Changer la couleur d'arrière-plan de uisearchcontroller

Luke Comment changer la couleur de fond de uisearchcontroller? Atm ça ressemble à ça Je veux tout ça d'une seule couleur. J'ai essayé sc.view.tintColor = UIColor.rgb(10, green: 150, blue: 255)et sc.view.backgroundColor = UIColor.rgb(10, green: 150, blue: 255)m