Проверяемая кнопка

Как мне сделать чтобы кнопка

    self.runBtn = QtWidgets.QPushButton()
    self.runBtn.setCheckable(True)
    self.runBtn.setText("Y")
    self.runBtn.setObjectName("runBtn")
    self.runBtn.clicked.connect(self.runProcess)

При повторном нажатии на неё (неактивна) вызывала метод

def hekke():
    print("hello")

То есть, когда переходит вручную из этого состояния

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

В это

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


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

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

Я не знаю, правильно ли я вас понял, но попробуйте так:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton


class Demo(QWidget):
    def __init__(self):
        super(Demo, self).__init__()

        self.runBtn = QPushButton(self)
        self.runBtn.setCheckable(True)
        self.runBtn.setText("Y")
        self.runBtn.setObjectName("runBtn")
        self.runBtn.clicked.connect(self.runProcess)

    def runProcess(self, state):
        if state:
            print(f"Button Checked: {state}") 
        else:
            self.hekke()

    def hekke(self):
        print("Hello повторное нажатие.")                
        

if __name__ == '__main__':
    app = QApplication(sys.argv)
    demo = Demo()
    demo.show()
    sys.exit(app.exec_())

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

→ Ссылка