У меня есть серия флажков (P1, P2, P3) и я хочу, чтобы выбранный флажок снимал флажки с других.Приведенный ниже код работает, но, поскольку у меня в приложении всего 12 флажков, требуется около 200 строк кода.Упрощение кода уменьшит количество строк (всего 1075) и, надеюсь, сократит время, необходимое приложению для запуска (в настоящее время 35 секунд)
self.checkbox_P1= QtWidgets.QCheckBox("P1",self)
self.checkbox_P1.clicked.connect(self.P_uncheck_others)
self.checkbox_P2= QtWidgets.QCheckBox("P2",self)
self.checkbox_P2.clicked.connect(self.P_uncheck_others)
self.checkbox_P3= QtWidgets.QCheckBox("P3",self)
self.checkbox_P3.clicked.connect(self.P_uncheck_others)
def P_uncheck_others(self):
sender = self.sender()
if sender.text() == "P1":
# self.checkbox_P1.setChecked(False)
self.checkbox_P2.setChecked(False)
self.checkbox_P3.setChecked(False)
elif sender.text() == "P2":
self.checkbox_P1.setChecked(False)
# self.checkbox_P2.setChecked(False)
self.checkbox_P3.setChecked(False)
elif sender.text() == "P2":
self.checkbox_P1.setChecked(False)
self.checkbox_P2.setChecked(False)
# self.checkbox_P3.setChecked(False)