Я новичок ie, играюсь с модулем PyQT5 и учусь создавать GUI для моей небольшой программы.
Я сделал небольшой gui с 3 флажками и кнопка, функции которой меняются флажками.
Моя текущая реализация выглядит так:
#Checkboxes and button logic
def stateChanged(self):
if self.GetErrorsBox.isChecked() and self.GetSpecsBox.isChecked() and self.GetConfigBox.isChecked():
self.execButton.clicked.connect(lambda: self.getErrors())
self.execButton.clicked.connect(lambda: self.copyConfig())
self.execButton.clicked.connect(lambda: self.getSpecs())
elif self.GetErrorsBox.isChecked() and self.GetSpecsBox.isChecked():
self.execButton.clicked.connect(lambda: self.getSpecs())
self.execButton.clicked.connect(lambda: self.getErrors())
elif self.GetErrorsBox.isChecked() and self.GetConfigBox.isChecked():
self.execButton.clicked.connect(lambda: self.getErrors())
self.execButton.clicked.connect(lambda: self.getSpecs())
elif self.GetSpecsBox.isChecked() and self.GetConfigBox.isChecked():
self.execButton.clicked.connect(lambda: self.copyConfig())
self.execButton.clicked.connect(lambda: self.getSpecs())
elif self.GetSpecsBox.isChecked():
self.execButton.clicked.connect(lambda: self.getSpecs())
elif self.GetErrorsBox.isChecked():
self.execButton.clicked.connect(lambda: self.getErrors())
elif self.GetConfigBox.isChecked():
self.execButton.clicked.connect(lambda: self.copyConfig())
Вопрос: Есть ли способ реорганизовать все эти IF и ELIF во что-то более читаемое?
Я могу добавить еще один флажок в будущем, поэтому я действительно не хочу продолжать добавлять IF и ELIF. Я не хочу быть следующим яндэвом, смеется.