Align ListBox in Frame wxpython
Question: I'm trying to figure out how to align a ListBox properly. As soon as i insert
the lines of ListBox, the layout transforms into a mess.

    
    
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    import wx
    
    oplist=[]
    with open("options.txt","r") as f:
        for line in f:
            oplist.append(line.rstrip('\n'))
    print(oplist)
    
    class Example(wx.Frame):
    
        def __init__(self, parent, title):
            super(Example, self).__init__(parent, title = title, size=(200,300))
    
            self.InitUI()
            self.Centre()
            self.Show()
    
        def InitUI(self):
            p = wx.Panel(self)
            vbox= wx.BoxSizer(wx.VERTICAL)
            self.l1 = wx.StaticText(p, label="Enter number", style=wx.ALIGN_CENTRE)
            vbox.Add(self.l1, -1, wx.ALIGN_CENTER_HORIZONTAL, 200)
            self.b1 = wx.Button(p, label="Buton 1")
            vbox.Add(self.b1, -1, wx.ALIGN_CENTER_HORIZONTAL,100)
            self.flistbox= wx.ListBox(self,choices=oplist, size=(100,100), name="Field", wx.ALIGN_CENTER_HORIZONTAL)
            vbox.Add(self.flistbox, -1, wx.CENTER, 10)
            p.SetSizer(vbox)
    
    app = wx.App()
    Example(None, title="BoxSizer")
    app.MainLoop()
    

Here the outputs with and without: [![With
ListBox](http://i.stack.imgur.com/52j71.png)](http://i.stack.imgur.com/52j71.png)
[![Without](http://i.stack.imgur.com/15VkA.png)](http://i.stack.imgur.com/15VkA.png)


Answer: The listbox is being parented to the frame by using self.

    
    
    self.flistbox= wx.ListBox(
        self,choices=oplist, size=(100,100), name="Field", wx.ALIGN_CENTER_HORIZONTAL)
    

It should be parented to the panel by using p like the other controls.

    
    
    self.flistbox= wx.ListBox(
        p,choices=oplist, size=(100,100), name="Field", wx.ALIGN_CENTER_HORIZONTAL)
    

