wx.ComboBox is a combination of a single line text field, a button with a down arrow image and a listbox. When you press the button, a listbox appears.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | import wx class Example(wx.Frame): def __init__( self , * args, * * kw): super (Example, self ).__init__( * args, * * kw) self .InitUI() def InitUI( self ): pnl = wx.Panel( self ) distros = [ 'Ubuntu' , 'Arch' , 'Fedora' , 'Debian' , 'Mint' ] cb = wx.ComboBox(pnl, pos = ( 50 , 30 ), choices = distros, style = wx.CB_READONLY) self .st = wx.StaticText(pnl, label = '', pos = ( 50 , 140 )) cb.Bind(wx.EVT_COMBOBOX, self .OnSelect) self .SetSize(( 250 , 230 )) self .SetTitle( 'wx.ComboBox' ) self .Centre() self .Show( True ) def OnSelect( self , e): i = e.GetString() self .st.SetLabel(i) def main(): ex = wx.App() Example( None ) ex.MainLoop() if __name__ = = '__main__' : main() |