私は自分のコードを改善したいが、現在どのように考えていない。 私はQtデザイナを使用し、メインウィンドウと3つのダイアログを作成しました。これらのダイアログはメインウィンドウから開くことができます。 .uiファイルを.pyファイルに変換し、すべてを管理するMainWindowクラスを作成しました。 すべてが正常に動作しますが、私にとっては、これは間違っているになります。あなたは私が3つのほぼ同じ方法をしました見てPyside + Qtデザイナーより良いコーディング
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)
コードが...簡略化されています。それで、私の心には、すべてを1つに統合することが可能なのでしょうか?私はそれはあなたが唯一のシグナル/スロットメカニズムを介してそれを使用することができ、不可能他の関数からメソッドを呼び出しますので、あなたはQtののsender
方法を使用しないでくださいだと思う
def open_dialog(self):
sender = self.sender()
sender.show()