我想写一个条件为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.
答案 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()