Я хочу улучшить свой код, но в настоящее время не знаю, как это сделать. Итак, я использовал Qt Designer и создал главное окно плюс 3 диалога, которые можно открыть из главного окна. Преобразовали файлы .ui в файлы .py и создали класс MainWindow, который управляет всеми. Все работает отлично, но для меня это выглядит не так:Pyside + Qt Designer Лучшее кодирование
class MainWindow(QMainWindow, Ui_MainWindow):
# init and else
[...]
def open_add_dialog(self):
self.dialog = AddDialog()
self.dialog.show()
def open_edit_dialog(self):
self.dialog = EditDialog()
self.dialog.show()
def open_about_dialog(self):
self.dialog = AboutDialog()
self.dialog.show()
def assign_widgets(self):
self.actionAdd.triggered.connect(self.open_add_dialog)
self.actionEdit.triggered.connect(self.open_edit_dialog)
self.actionAbout.triggered.connect(self.open_about_dialog)
код упрощается .. Итак, как вы видите, что я имею 3 практически одинаковые методы. Поэтому мне приходит в голову вопрос, можно ли объединить все в одно? То, что я хочу что-то вроде этого:
def open_dialog(self):
sender = self.sender()
sender.show()