Home  >  Article  >  Backend Development  >  wxPython中listbox用法实例详解

wxPython中listbox用法实例详解

WBOY
WBOYOriginal
2016-06-10 15:11:132576browse

本文实例讲述了wxPython中listbox用法。分享给大家供大家参考。具体如下:

# 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程序设计有所帮助。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn