本文实例讲述了wxPython中listbox用法。分享给大家供大家参考。具体如下:
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
# load a listbox with names, select a name and display in title # experiments with wxPython by vegaseat 20mar2005 # Python v2.4 and wxPython v2.5 # If you have not already done so, install Python 2.4 first. # I used python-2.4.1c2.msi (this is the self-extracting # MS-Installer file) from http://www.python.org # Then install wxPython2.5-win32-unicode-2.5.4.1-py24.exe # from: http://prdownloads.sourceforge.net/wxpython/ # (if you don't get into unicode, download the ansi version) # note: python-2.4.1c2.msi should soon be python-2.4.1.msi import wx def create(parent): return Frame1(parent) # assign ID numbers [wxID_FRAME1, wxID_FRAME1BUTTON1, wxID_FRAME1BUTTON2, wxID_FRAME1LISTBOX1, ] = [wx.NewId() for _init_ctrls in range ( 4 )] class Frame1(wx.Frame): def _init_ctrls( self , prnt): # BOA generated methods wx.Frame.__init__( self , id = wxID_FRAME1, name = '', parent = prnt, pos = wx.Point( 358 , 184 ), size = wx.Size( 299 , 387 ), style = wx.DEFAULT_FRAME_STYLE, title = u 'ListBox Test ...' ) self .SetClientSize(wx.Size( 291 , 347 )) self .SetBackgroundColour(wx.Colour( 0 , 128 , 0 )) self .button1 = wx.Button( id = wxID_FRAME1BUTTON1, label = u 'Load ListBox' , name = 'button1' , parent = self , pos = wx.Point( 8 , 8 ), size = wx.Size( 176 , 28 ), style = 0 ) self .button1.Bind(wx.EVT_BUTTON, self .OnButton1Button, id = wxID_FRAME1BUTTON1) self .listBox1 = wx.ListBox(choices = [], id = wxID_FRAME1LISTBOX1, name = 'listBox1' , parent = self , pos = wx.Point( 8 , 48 ), size = wx.Size( 184 , 256 ), style = 0 ) self .listBox1.SetBackgroundColour(wx.Colour( 255 , 255 , 128 )) self .listBox1.Bind(wx.EVT_LISTBOX, self .OnListBox1Listbox, id = wxID_FRAME1LISTBOX1) self .button2 = wx.Button( id = wxID_FRAME1BUTTON2, label = u 'Clear' , name = 'button2' , parent = self , pos = wx.Point( 104 , 312 ), size = wx.Size( 87 , 28 ), style = 0 ) self .button2.Bind(wx.EVT_BUTTON, self .OnButton2Button, id = wxID_FRAME1BUTTON2) def __init__( self , parent): self ._init_ctrls(parent) def OnButton1Button( self , event): ''' click button to load the listbox with names ''' self .listBox1.Append( "Andreas" ) self .listBox1.Append( "Erich" ) self .listBox1.Append( "Udo" ) self .listBox1.Append( "Jens" ) self .listBox1.Append( "Bjorn" ) self .listBox1.Append( "Heidrun" ) self .listBox1.Append( "Ulla" ) self .listBox1.Append( "Volger" ) self .listBox1.Append( "Helmut" ) self .listBox1.Append( "Freja" ) self .SetTitle( "Select a name ..." ) def OnListBox1Listbox( self , event): ''' click list item and display the selected string in frame's title ''' selName = self .listBox1.GetStringSelection() self .SetTitle(selName) def OnButton2Button( self , event): ''' click button to clear the listbox items ''' self .listBox1.Clear() #--------------- end of class Frame1 -------------------- # program entry point ... if __name__ = = '__main__' : app = wx.PySimpleApp() wx.InitAllImageHandlers() frame = create( None ) frame.Show() app.MainLoop() |
希望本文所述对大家的Python程序设计有所帮助。