Как вернуть QPushButton к обратному состоянию pyqt5?

Есть такой код:

self.checkBtn = QPushButton('', self)
self.checkBtn.setIcon(QIcon('images/background/CheckBtn passive.png'))
self.checkBtn.setIconSize(QSize(60, 50))
self.checkBtn.clicked[bool].connect(self.setActiveCheck)

def setActiveCheck(self):
        button = self.sender()
        button.setIcon(QIcon('images/background/CheckBtn active.png'))
        button.setIconSize(QSize(60, 50))

При нажатии кнопки, у него меняется картинка на фоне. Проблема в том, что нужно обратно изменять картинку в первоначальное состояние при повторном нажатии. Функцию скопировал, все изменил, но как это поместить в событие, чтобы подключалось в зависимости от булевой переменной?

Решение найдено, но теперь оно не хочет работать:

self.checkBtn = QPushButton('', self)
self.checkBtn.setIcon(QIcon('images/background/CheckBtnpassive.png'))
self.checkBtn.setIconSize(QSize(60, 50))
self.checkBtn.toggled.connect(self.setActive)

def setActive(self, state):
        if state:
            self.checkBtn.setIcon(QIcon('images/background/CheckBtn active.png'))
            self.checkBtn.setIconSize(QSize(60, 50))
        else:
            self.checkBtn.setIcon(QIcon('images/background/CheckBtnpassive.png'))
            self.checkBtn.setIconSize(QSize(60, 50))

Ответы (1 шт):

Автор решения: S. Nick

Предлагаю делать так:

import sys
from PyQt5.Qt import *

class AppDemo(QWidget):
    def __init__(self):
        super().__init__()

        self.checkBtn = QPushButton('', self)

        self.checkBtn.setCheckable(True)                                       # +++

        self.checkBtn.setIcon(QIcon('Ok.png'))    # ('images/background/CheckBtn passive.png'))
        self.checkBtn.setIconSize(QSize(60, 50))
#        self.checkBtn.clicked[bool].connect(self.setActiveCheck)
        self.checkBtn.toggled.connect(self.setActiveCheck)                     # +++

    def setActiveCheck(self, state):
        if state:
            self.checkBtn.setIcon(QIcon('im.png'))
        else:
            self.checkBtn.setIcon(QIcon('Ok.png'))


if __name__ == '__main__':
    app = QApplication(sys.argv)        
    demo = AppDemo()
    demo.resize(200, 100)
    demo.show()
    sys.exit(app.exec_())

введите сюда описание изображения

→ Ссылка