オリジナルダイアログの作成

class newXMLDialog(wx.Dialog): def __init__(self, parent, id): title = 'test dialog' wx.Dialog.__init__(self, parent, id, title, size=(200, 180)) panel = wx.Panel(self, -1) vbox = wx.BoxSizer(wx.VERTICAL) noteTxt=wx.StaticText(self,-1,u"",size=(180, -1)) systemTxt = wx.StaticText(self, -1, u"System:", size=(50, -1), style = wx.ALIGN_RIGHT) systemList = ['win32', 'darwin', 'linux', 'linux2'] self.systemCtrl = wx.ComboBox(self, -1, 'win32', choices = systemList, size = (100, -1), style = wx.CB_DROPDOWN ) nameTxt = wx.StaticText(self, -1, u"Name:", size=(50, -1), style = wx.ALIGN_RIGHT) self.nameCtrl = wx.TextCtrl(self, -1, 'newName', size = (100, -1)) sizer = wx.FlexGridSizer(cols=2, hgap=4, vgap=4) sizer.AddMany([ systemTxt, self.systemCtrl, nameTxt, self.nameCtrl, ]) # Button hbox = self.CreateButtonSizer(wx.OK|wx.CANCEL) vbox.Add(panel) vbox.Add(noteTxt, 1, wx.ALIGN_CENTER) vbox.Add(sizer, 1, wx.ALIGN_CENTER) vbox.Add(hbox, 1, wx.ALIGN_CENTER | wx.TOP, 10) self.SetSizer(vbox) def GetSystem(self): return self.systemCtrl.GetValue() def GetName(self): return self.nameCtrl.GetValue()
呼び出し部分は普通のダイアログと同じです。
CreateButtonSizerを使うとwx.ID_OKとか返り値を得ることができるので楽です。
他の値もこんな感じでGetできます。

if dlg.ShowModal() == wx.ID_OK: print dlg.GetSystem() print dlg.GetName() dlg.Destroy()
最終更新:2008年04月26日 17:34
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。