Я использую Python 3.6 на PyQt5.
Я хочу, чтобы кнопка была off.png по умолчанию, затем, когда я нажимаю на нее, значок становится click.png, а когда я отпускаю щелчок, он становится On.png.
В настоящее время по умолчанию это off.png, но нажатие на него не меняет значок на click.png, а при отпускании успешно меняет значок на on.png
Как ни странно, когда я щелкаю по окну (а не по фактической кнопке), значок переключается на click.png и возвращается к off.png после его отпускания.
Как я могу исправить средние три строки кода, чтобы значок стал click.png, когда я удерживал нажатой кнопку, и затем стал on.png, как только я его отпустил? Спасибо
Примечание: я не думаю, что код будет работать как есть, если у вас нет изображений, сохраненных на вашем компьютере.
Я пытался возиться с различными режимами / состояниями, но все еще не мог заставить его работать
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(160, 180, 271, 121))
self.pushButton.setStyleSheet("")
self.pushButton.setText("")
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("images/Clicking.png"))
icon.addPixmap(QtGui.QPixmap("images/Off.png"), QtGui.QIcon.Active)
icon.addPixmap(QtGui.QPixmap("images/On.png"), QtGui.QIcon.Normal, QtGui.QIcon.On)
self.pushButton.setIcon(icon)
self.pushButton.setIconSize(QtCore.QSize(300, 300))
self.pushButton.setCheckable(True)
self.pushButton.setAutoRepeatDelay(400)
self.pushButton.setDefault(False)
self.pushButton.setObjectName("pushButton")