2016-07-02 3 views
0

Je voudrais changer l'image (? Ou icône) affichée avec la case à cocher pour une QGroupBox, à savoir: checkbox for qgroupboxchangement PySide QGroupBox case à cocher l'image

Je voudrais changer, en particulier, l'image affichée lorsqu'elle est 'checked' à l'image 'images/custom_checked.png', et l'image affichée quand elle survole 'images/custom_hover.png'. Je pense que cela peut être accompli en utilisant StyleSheets mais je n'ai pas réussi à faire fonctionner quelque chose.

Edit: Le code suivant fait changer l'image de case à cocher lorsque la case est cochée

class MyGroupBox(QtGui.QGroupBox): 
    def __init__(self, parent): 
     super(MyGroupBox, self).__init__(parent) 

     self.setStyleSheet('QGroupBox::indicator:checked {image: url(images//custom_checked.png);}') 

mais quand j'ajouter la ligne suivante pour prendre soin de l'image en vol stationnaire, il applique seulement l'image planant et ne tient pas compte de l'image vérifié (l'image de case cochée normale est présente jusqu'à ce que je planer sur la case à cocher à quel point sa transition vers l'image de vol stationnaire personnalisé):

class MyGroupBox(QtGui.QGroupBox): 
    def __init__(self, parent): 
     super(MyGroupBox, self).__init__(parent) 

     self.setStyleSheet('QGroupBox::indicator:checked {image: url(images//custom_checked.png);}') 
     self.setStyleSheet('QGroupBox::indicator:checked:hover {image: url(images//custom_hover.png);}') 
       ) 

Répondre

0

vous devez mettre chaque « chose » que vous voulez changer séparément:

self.setStyleSheet('QGroupBox::indicator:checked:hover {image: url(images//custom_hover.png);}' 
        'QGroupBox::indicator:checked {image: url(images//custom_delete.png);}'