wx.ScrolledWindow in wx.Notebook - Problem
Verfasst: Dienstag 24. November 2009, 07:43
Hallo,
ich wußte nicht wie ich die Überschrift treffender formulieren sollte, folgendes Problem:
wenn ich ein normales Panel so erzeuge:
kann ich in den darin liegenden textctrl mit ENTER von einem Entry zum nächsten springen (der Reihe nach) so soll es sein,
wenn ich aber das Ganze in einem notebook versuche:
kann ich nicht mehr springen, es bleibt immer das erste Entry aktiv. Ersetze ich aber alle wx.ScrolledWindow durch wwx.Panel wie z.B.:
durch funktioniert es prächtig....
Wie kann ich mit Scrollbars arbeiten und trotzdem über ENTER von einem Entry zum nächsten springen??
hier mal der gesamte Code mit notebook:
http://paste.pocoo.org/show/Lef5KYojHwrgyTNLYVnU/
Gruß Mathi
edit: Überschrift ist nun besser
ich wußte nicht wie ich die Überschrift treffender formulieren sollte, folgendes Problem:
wenn ich ein normales Panel so erzeuge:
Code: Alles auswählen
class LeftPanel(wx.ScrolledWindow):
def __init__(self, parent):
wx.ScrolledWindow.__init__(self, parent,style=wx.TAB_TRAVERSAL | wx.BORDER_RAISED
| wx.CLIP_CHILDREN
| wx.FULL_REPAINT_ON_RESIZE
)
self.SetBackgroundColour(wx.Colour(240,240,240))
self.Freeze()
# ScrolledWindow einrichten
self.FitInside()
self.SetScrollbars(20, 20, 600, 600)
# Bildaufbau wieder erlauben
self.Thaw()
wenn ich aber das Ganze in einem notebook versuche:
Code: Alles auswählen
class LeftNotebook(wx.Notebook):
def __init__(self, parent):
wx.Notebook.__init__(self, parent,style=wx.TAB_TRAVERSAL | wx.BORDER_RAISED | wx.NB_MULTILINE)
self.SetBackgroundColour(wx.Colour(240,240,240))
panel_0=wx.ScrolledWindow(self)
self.AddPage(panel_0, "Panel0")
panel_1=wx.ScrolledWindow(self)
self.AddPage(panel_1, "Panel1")
panel_2=wx.ScrolledWindow(self)
self.AddPage(panel_2, "Panel2")
panel_3=wx.ScrolledWindow(self)
self.AddPage(panel_3, "Panel3")
panellist=(panel_0,panel_1,panel_2,panel_3)
for i in panellist:
i.Freeze()
# ScrolledWindow einrichten
i.FitInside()
i.SetScrollbars(20, 20, 10, 10)
# Bildaufbau wieder erlauben
i.Thaw()
Code: Alles auswählen
panel_3=wx.ScrolledWindow(self)
Code: Alles auswählen
panel_3=wx.Panel(self)
Wie kann ich mit Scrollbars arbeiten und trotzdem über ENTER von einem Entry zum nächsten springen??
hier mal der gesamte Code mit notebook:
http://paste.pocoo.org/show/Lef5KYojHwrgyTNLYVnU/
Gruß Mathi
edit: Überschrift ist nun besser