wxPython中listbox用法实例详解

yipeiwu_com7年前Python基础

本文实例讲述了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程序设计有所帮助。

相关文章

Python pickle模块实现对象序列化

这篇文章主要介绍了Python pickle模块实现对象序列化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 作用 对Python对...

利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)

前言 本文主要给大家介绍的关于Python批量压缩png的相关资料,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 1.需求 为什么会有这个需求?是因为游戏的资源大多是...

python实现多线程端口扫描

一个简易的TCP端口扫描器,使用python3实现。 需求:扫描目标网站开放哪些端口号,将所有开放的端口号输出。 分析:使用socket连接,如果连接成功,认为端口开放,如果连接失败,认...

使用python画个小猪佩奇的示例代码

使用python画个小猪佩奇的示例代码

  基本原理 选好画板大小,设置好画笔颜色、粗细,定位好位置,依次画鼻子、头、耳朵、眼睛、腮、嘴、身体、手脚、尾巴,完事儿。 都知道,Turtle 是 Python 内置的一个...

浅谈Python实现贪心算法与活动安排问题

浅谈Python实现贪心算法与活动安排问题

贪心算法 原理:在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,但对...