Python 多个按钮错误

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

我正在使用PyQt5创建一个程序。我创建了3个单选按钮,但当我检查第一个按钮,然后检查第二个按钮时。程序将运行与这些按钮相连的两个功能。如何使它只运行连接到该按钮的功能。谢谢

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
函数的开头。您需要在连接新插槽之前添加它,否则它也会删除该连接。