I have a wxScrolledWindow that I think should create scroll bars when
I resize it, or at least resize whats in it's sizer but it does not
seem to work
import wxversion
wxversion.select(["2.7"])
import wx
class form_panel(wx.ScrolledWindow):
def __init__(self, parent):
wx.ScrolledWindow.__init__(self, parent, wx.ID_ANY,
style=wx.NO_BORDER|wx.VSCROLL|wx.HSCROLL)
self.main_sizer = wx.BoxSizer(wx.VERTICAL)
self.main_sizer.Add(listbox_panel(self), 0, wx.EXPAND)
self.main_sizer.Add(wx.Size(10,10))
self.SetSizer(self.main_sizer)
self.SetAutoLayout(True)
self.Fit()
class listbox_panel(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent, wx.ID_ANY)
opts = ['aaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa']
self.list = wx.ComboBox(self,wx.ID_ANY, choices=opts,
style=wx.CB_READONLY)
sizer = wx.BoxSizer(wx.HORIZONTAL)
sizer.Add(wx.StaticText(self, wx.ID_ANY, "list box: "), 0, wx.EXPAND)
sizer.Add(wx.Size(5,0))
sizer.Add(self.list, 0, wx.EXPAND)
sizer.Add(wx.Button(self, wx.ID_ANY, "Send"), 0, wx.EXPAND)
self.sizer = sizer
self.SetSizer(sizer)
self.SetAutoLayout(True)
self.Fit()
def main():
app = wx.PySimpleApp()
mywindow = wx.Frame(None, wx.ID_ANY, "Test Window")
mywindow.panel = form_panel(mywindow)
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(mywindow.panel, 1, wx.EXPAND)
mywindow.panel.main_sizer.Add(form_panel(mywindow), 0, wx.EXPAND)
mywindow.panel.main_sizer.Add(wx.Size(10,10))
mywindow.SetSizer(sizer)
mywindow.SetAutoLayout(True)
mywindow.Fit()
mywindow.Show()
app.MainLoop()
if __name__ == "__main__":
main()
test.py (1.71 KB)