检查PyQt4中QPushButton的状态?

时间:2016-12-28 22:11:07

标签: python pyqt4 qpushbutton

我想写一个条件为if的{​​{1}}。如果按钮已启用,我想执行QPushButton。那么,我该如何检查Button的状态。

代码:

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.

1 个答案:

答案 0 :(得分:3)

使用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()