【发布时间】:2017-04-23 15:58:59
【问题描述】:
QPushButtonlightsBtn 是一个切换按钮,用于打开和关闭灯。当用户按下lightsBtn时,函数lightsBtnHandler将检查按钮当前是否被选中,并调用turnOnLights或turnOffLights。
我认为self.sender() 能够访问QPushButton 的属性,但我找不到任何有关访问选中状态的文档。
有可能吗?
class Screen(QMainWindow):
def initUI(self):
lightsBtn= QPushButton('Turn On')
lightsBtn.setCheckable(True)
lightsBtn.setStyleSheet("QPushButton:checked {color: white; background-color: green;}")
lightsBtn.clicked.connect(self.lightsBtnHandler)
lightsBtn.show()
def lightsBtnHandler(self):
if self.sender().?? isChecked(): # How to check for checked state?
self.turnOnLights()
else:
self.turnOffLights()
【问题讨论】:
-
也许把
lightsBtn改成self.lightsBtn然后条件就是if self.lightsBtn.isChecked():
标签: python python-2.7 qt pyqt