Hallo
Ich will einen typischen "Einstellungen"-Dialog bauen. Ich habe mich in der Doku etwas umgesehen, und es gibt im wx.lib.pydocview-Modul eine Klasse OptionsDialog, die wohl dafür vorgesehen ist:
http://www.wxpython.org/docs/api/wx.lib ... class.html
Ich bin mir nicht sicher, aber es scheint Teil des document/view frameworks zu sein (http://www.wxwidgets.org/manuals/stable ... rview.html). Damit habe ich allerdings überhaupt keine Erfahrung und auch in wxPython In Action scheint es nichts darüber zu geben. Mein Eindruck ist, dass das eher für komplexere GUIs gedacht ist. (Zumindest kommt es mir ziemlich kompliziert vor.)
Weiß da jemand mehr dazu?
Typisches 'Einstellungen'-Fenster
Nur der Vollständigkeit halber, vielleicht interessiert es ja jemanden. So ähnlich hab ich es jetzt gemacht:
Kritik erwünscht 
Code: Alles auswählen
# -*- coding: utf-8 -*-
import wx
class MyNotebook(wx.Notebook):
def __init__(self, parent):
wx.Notebook.__init__(self, parent, -1)
panel1 = wx.Panel(self, -1)
label = wx.StaticText(panel1, -1, "Ich bin ein Panel!")
panel2 = wx.Panel(self, -1)
label = wx.StaticText(panel2, -1, "Und ich auch")
self.AddPage(panel1, "Reiter 1")
self.AddPage(panel2, "Reiter 2")
class MyFrame(wx.Frame):
def __init__(self, parent=None):
wx.Frame.__init__(self, parent, -1)
menubar = wx.MenuBar()
bearbeiten = wx.Menu()
einstellungen = bearbeiten.Append(-1, '&Einstellungen')
menubar.Append(bearbeiten, '&Bearbeiten')
self.Bind(wx.EVT_MENU, self.OnEinstellungen, einstellungen)
self.SetMenuBar(menubar)
def OnEinstellungen(self, event):
einstellungenDlg = wx.Dialog(self, -1)
sizer = wx.BoxSizer(wx.VERTICAL)
nb = MyNotebook(einstellungenDlg)
buttonSizer = einstellungenDlg.CreateButtonSizer(wx.OK | wx.CANCEL)
sizer.Add(nb, 0, wx.ALL | wx.EXPAND, 5)
sizer.Add(buttonSizer, 0, wx.ALL | wx.ALIGN_RIGHT, 5)
einstellungenDlg.SetSizerAndFit(sizer)
einstellungenDlg.ShowModal()
class MyApp(wx.App):
def OnInit(self):
self.frame = MyFrame()
self.frame.Show(True)
return True
if __name__ == '__main__':
app = MyApp()
app.MainLoop()
