Okay, I've emailed wxpython-users; we'll see what they have to say about it.
EDIT: okay, problem solved. The automatic resizing I mentioned apparently only goes one "layer" deep -- a Panel in a Frame will resize automatically, but the contents of that Panel will not. The solution is to stick the TextCtrl inside a Sizer and set the Sizer on the Panel. Try changing the constructor for the MessageFrame to this:
EDIT: okay, problem solved. The automatic resizing I mentioned apparently only goes one "layer" deep -- a Panel in a Frame will resize automatically, but the contents of that Panel will not. The solution is to stick the TextCtrl inside a Sizer and set the Sizer on the Panel. Try changing the constructor for the MessageFrame to this:
Code:
def __init__(self, parent): wx.Frame.__init__(self, parent, title = "Message history") panel = wx.Panel(self) sizer = wx.BoxSizer() self.text = wx.TextCtrl(panel, style = wx.TE_MULTILINE) sizer.Add(self.text, 1, wx.EXPAND) panel.SetSizer(sizer)
Comment