Создано 3 радиокнопки, объединенных в группу:
self.radio_button_1 = QRadioButton('Выбор 1')
self.radio_button_2= QRadioButton('Выбор 2')
self.radio_button_3 = QRadioButton('Выбор 3')
self.mode_button_group = QButtonGroup()
self.mode_button_group.addButton(self.radio_button_1)
self.mode_button_group.addButton(self.radio_button_2)
self.mode_button_group.addButton(self.radio_button_3)
self.mode_button_group.buttonClicked.connect(self.mode_radio_clicked)
Раньше при выборе любого из них и нажатия на кнопку вызывалась одна функция, и все работало корректно:
self.bth_vis = QPushButton('Построить', self)
self.bth_vis.clicked.connect(self.function1)
Теперь нужно чтобы при выборе 1 и 2 радиокнопок вызывалась эта же функция, а при выборе 3 кнопки новая функция.
if self.radio_button_3.isChecked():
self.bth_vis.clicked.connect(self.function2)
else:
self.bth_vis.clicked.connect(self.function1)
или
self.curr_mode = [self.bth_vis.clicked.connect(self.function2) if self.radio_button_3.isChecked() else self.bth_vis.clicked.connect(self.function1) for i in range(len(self.mode_button_group.buttons()))]
Но во всех случаях вызывается только старая функция function1, почему может не работать условие?