Python 多个按钮错误
我正在使用PyQt5创建一个程序。我创建了3个单选按钮,但当我检查第一个按钮,然后检查第二个按钮时。程序将运行与这些按钮相连的两个功能。如何使它只运行连接到该按钮的功能。谢谢Python 多个按钮错误,python,pyqt,pyqt5,qradiobutton,Python,Pyqt,Pyqt5,Qradiobutton,我正在使用PyQt5创建一个程序。我创建了3个单选按钮,但当我检查第一个按钮,然后检查第二个按钮时。程序将运行与这些按钮相连的两个功能。如何使它只运行连接到该按钮的功能。谢谢 def __init__(self): super(Program, self).__init__() self.ui = Ui_APIManager() self.ui.setupUi(self) self.show() self.ui.add_btn.toggled.connec
def __init__(self):
super(Program, self).__init__()
self.ui = Ui_APIManager()
self.ui.setupUi(self)
self.show()
self.ui.add_btn.toggled.connect(self.start)
self.ui.check_btn.toggled.connect(self.start)
self.ui.delete_btn.toggled.connect(self.start)
def start(self):
if self.ui.add_btn.isChecked():
self.ui.third_lbl.setEnabled(True)
self.ui.first_lbl.setText('Tool name')
self.ui.second_lbl.setText('ID')
self.ui.third_lbl.setText('Username')
self.ui.action_btn.clicked.connect(self.add_user)
elif self.ui.check_btn.isChecked():
self.ui.first_lbl.setText('Type of search')
self.ui.second_lbl.setText('Keyword')
self.ui.third_lbl.setEnabled(False)
self.ui.action_btn.clicked.connect(self.check_user)
elif self.ui.delete_btn.isChecked():
self.ui.first_lbl.setText('Type of search')
self.ui.second_lbl.setText('Keyword')
self.ui.third_lbl.setEnabled(False)
self.ui.action_btn.clicked.connect(self.delete_user)
Qt信号可以连接多个插槽。每次单击按钮时,
启动
功能都会向操作按钮添加另一个连接。单击
信号
您需要先断开任何现有插槽与信号的连接,以实现所需的行为。您可以通过调用其函数一次断开与self.ui.action的所有连接
与其尝试重新分配已创建的GUI元素的角色,不如创建包含每个复选框状态元素的单独小部件并在它们之间切换。您可能会发现有用。谢谢您的回答,但我可以将
self.ui.action\u btn.disconnect()放在哪里呢?
。我试图在下面添加self.ui.action\u btn.clicked.connect(self.add\u user)
,但当我单击“确定”按钮时,什么也没有发生。您可以将它放在示例中的start
函数的开头。您需要在连接新插槽之前添加它,否则它也会删除该连接。