Изменить изображение флажка PySide QGroupBox

Я хотел бы изменить изображение (или значок?), Отображаемое с флажком для QGroupBox, то есть: флажок для qgroupbox

В частности, я хотел бы изменить отображаемое изображение, когда оно "отмечено", на изображение "images / custom_checked.png", а изображение, отображаемое при наведении на него, на "images / custom_hover.png". Я думаю, что это может быть достигнуто с помощью StyleSheets, но я не смог заставить что-либо работать.

Изменить: следующий код меняет изображение флажка, когда флажок установлен

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

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

но когда я добавляю следующую строку, чтобы позаботиться об изображении при наведении, он применяет только зависшее изображение и игнорирует проверенное изображение (т. е. обычное проверенное изображение флажка присутствует до тех пор, пока я не наведу курсор на флажок, в котором он переходит к пользовательское изображение при наведении):

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);}')
                  )

1 ответ

Решение

Вы должны поместить каждую "вещь", которую хотите изменить, отдельно:

self.setStyleSheet('QGroupBox::indicator:checked:hover {image: url(images//custom_hover.png);}'
                   'QGroupBox::indicator:checked {image: url(images//custom_delete.png);}'
Другие вопросы по тегам