Python 选中另一个QPushButton时禁用两个QPushButton
我的程序中有3个按钮x,y,z。当另一个QpushButton x处于可检查模式时,我必须将2个按钮y、z设置为禁用。 当X处于可检查模式时,应禁用其他X。 我该怎么做? 提前谢谢 我的代码:Python 选中另一个QPushButton时禁用两个QPushButton,python,qt,pyqt,Python,Qt,Pyqt,我的程序中有3个按钮x,y,z。当另一个QpushButton x处于可检查模式时,我必须将2个按钮y、z设置为禁用。 当X处于可检查模式时,应禁用其他X。 我该怎么做? 提前谢谢 我的代码: self.btn_mpgX.setCheckable(True) self.btn_mpgY.setEnabled(False); self.btn_mpgZ.setEnabled(False); self.btn_mpgX.toggled.connect(self.btn
self.btn_mpgX.setCheckable(True)
self.btn_mpgY.setEnabled(False);
self.btn_mpgZ.setEnabled(False);
self.btn_mpgX.toggled.connect(self.btn_mpgXuncheckable)
def btn_mpgXuncheckable(self):
self.btn_mpgY.setEnabled(True);
self.btn_mpgZ.setEnabled(True);
self.btn_mpgX.toggled.connect(self.initUI)
预期行为:一个可检查的QPushButton X,在选中/未选中时禁用/启用两个常规QPushButton Y和Z。如果我错了,请更正我 与示例代码一样,您可以使用信号toggledbool checked。布尔值允许您知道按钮是选中还是未选中,并且您可以相应地启用/禁用其他按钮
import sys
import PyQt4.QtCore as QtCore
import PyQt4.QtGui as QtGui
class MyWidget(QtGui.QWidget):
def __init__(self, parent=None):
super(MyWidget, self).__init__(parent)
self.buttonX=QtGui.QPushButton("X")
self.buttonY=QtGui.QPushButton("Y")
self.buttonZ=QtGui.QPushButton("Z")
self.buttonX.setCheckable(True)
self.buttonX.toggled.connect(self.on_check_X)
#layout
hbox=QtGui.QHBoxLayout()
hbox.addWidget(self.buttonX)
hbox.addWidget(self.buttonY)
hbox.addWidget(self.buttonZ)
self.setLayout(hbox)
def on_check_X(self,is_toggle):
if is_toggle:
self.buttonY.setEnabled(False)
self.buttonZ.setEnabled(False)
else:
self.buttonY.setEnabled(True)
self.buttonZ.setEnabled(True)
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
win= MyWidget()
win.show()
sys.exit(app.exec_())