Ich möchte gerne dem Nutzer etwas Text in einem scrolled panel anbieten, aber meine bisherige Variante produziert nur am linken Rand des Fensters etwas Text und der Rest ist einfach grau. Weiß jemand wo der Fehler steckt?
Code: Alles auswählen
import wx.lib.scrolledpanel
class SScrolledPanel(wx.lib.scrolledpanel.ScrolledPanel):
"""
dummy class serving VersionHistoryWindow
"""
def __init__(self, parent, frame, text):
scrolled = wx.lib.scrolledpanel.ScrolledPanel.__init__(self, parent, -1)
panel = wx.lib.scrolledpanel.ScrolledPanel(self, -1, size=wx.DefaultSize, style = wx.TAB_TRAVERSAL|wx.SUNKEN_BORDER )
sizer = wx.FlexGridSizer(cols=3, vgap=4, hgap=4)
for line in text.split('\t'):
sizer.Add(wx.StaticText(self, -1, line))
panel.SetSizer(sizer)
panel.SetAutoLayout(1)
panel.SetupScrolling(1)
class VersionHistoryWindow(wx.Frame):
"""
scrolled panel in order to show the version history
"""
def __init__(self, parent, id, titel, text, pos=wx.DefaultPosition,
size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE):
wx.Frame.__init__(self, parent, id, titel, pos, size, style)
panel = SScrolledPanel(self, parent, text)
border=wx.BoxSizer(wx.VERTICAL)
border.Add(panel,-1, wx.FIXED_MINSIZE)
border.Fit(self)
self.SetSizer(border)
self.Layout()
self.Fit()
class SAXS_wx(wx.Frame):
...
def OnHistory(self, event=None):
"""
opens a little dialog to present the user the version history
"""
win = VersionHistoryWindow(self, -1, "Version History", text = __revision__)
win.Show(True)
class SAXSApp(wx.App):
def OnInit(self):
frame = SAXS_wx(None,-1,"SAXS Analysis")
frame.Show(True)
self.SetTopWindow(frame)
return True
Christian