检查 PyQt4 中 QPushButton 的状态?

Check the state of QPushButton in PyQt4?

我想写一个if,条件是QPushButton的状态。如果启用了按钮,我想执行 if。那么,如何检查按钮的状态。

代码:

self.pushButton = QtGui.QPushButton()
self.pushbutton.setEnabled(False)

self.pushbutton.setEnabled(False) ##some where in the another class I have enabled it this line will not be executed all the time,so I want the check state.

if self.pushbutton.checkstate() == Enabled:  ##??? How to write this condition?
    some code I want to execute

使用QPushButton.isEnabled。以下代码在启用和禁用之间切换按钮,并使用 "if" 测试根据状态执行某些操作。它适用于 PyQt5,但您只需调整导入即可使其与 PyQt4 一起使用(如果您使用的是 Python 2.x,您还必须调整打印语句):

from PyQt5.QtCore import QTimer
from PyQt5.QtWidgets import QApplication, QPushButton

def check_button():
    if push.isEnabled():
        print('enabled')
        push.setEnabled(False)
    else:
        print('not enabled')
        push.setEnabled(True)

    QTimer.singleShot(1000, check_button)

app = QApplication([])
push = QPushButton()
push.show()
QTimer.singleShot(0, check_button)
app.exec()