Нужно поменять изображение при нажатии на QPushButton

Я хочу чтобы на моей клавиатуре менялось изображение пока она нажата.

Вот макет:

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


equal = QPushButton(self)
equal.setIcon(QIcon('equal.png'))
equal.setIconSize(QSize(75, 75))
equal.setGeometry(229, 525, 75, 75)

Пробовал через функцию с помощью 'clicked', но выдавало ошибку, что equal не найдено.


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

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

Попробуйте установить в таблицу стилей свои изображения.

from PyQt5 import QtWidgets


class MyWindow(QtWidgets.QWidget):
    def __init__(self):
        super().__init__()

        equal = QtWidgets.QPushButton(objectName='equal')
        equal.setFixedSize(75, 75)                 

        layout = QtWidgets.QHBoxLayout(self)
        layout.addWidget(equal)


qss = '''
#equal {
    border: none;
    margin: 0px;
    padding: 0px;
    border-image: url(Ok.png);        
}
#equal:pressed {
    border-image: url(lena-2.png);
}
'''


if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    app.setStyleSheet(qss)
    window = MyWindow()
    window.show()
    sys.exit(app.exec_())

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

→ Ссылка