wxPythonで自作ダイアログを表示
wxPythonでファイルダイアログ - メグタンの何でもブログ の続き
wxformbuilderでオリジナルダイアログを作成
wxformbuilderでFormsの左から3番目のDialogを追加
その下にLayoutの左端wxBoxSizerを追加
このwxBoxSizerの中に自由にボタンとかテキストボックスを配置
その下にLayoutの左端wxBoxSizerと右から2番目のwxStdDialogButtonSizerを追加
wxStdDialogButtonSizerにはOK、Cancelボタンが配置されている。
このボタンを押すとダイアログが閉じてwx.ID_OKもしくはwx.ID_CANCELが戻される。
Generate Code で画面の.pyファイルを書き出す。
設定した対応するイベント部分を本体プログラムにコピーして修正する。
Generate Code で作成したファイルはインデントがタブなので必要に応じてスペース4個に修正
本体プログラムから呼び出す
表示前にダイアログ上に表示するデータを設定
ダイアログをOKボタンで閉じた時にはデータを読み出して保存
def m_bDialogOnButtonClick( self, event ): dlg = o3dtest.MyDialog1(self) dlg.CenterOnScreen() dlg.m_textCtrl1.SetValue(self.t) # this does not return until the dialog is closed. val = dlg.ShowModal() if val == wx.ID_OK: self.t = dlg.m_textCtrl1.GetValue() dlg.Destroy()