wxPython中listbox用法实例详解


Posted in Python onJune 01, 2015

本文实例讲述了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 相关文章推荐
Python类的基础入门知识
Nov 24 Python
django批量导入xml数据
Oct 16 Python
在centos7中分布式部署pyspider
May 03 Python
Python算法之图的遍历
Nov 16 Python
python机器学习理论与实战(一)K近邻法
Jan 28 Python
python_opencv用线段画封闭矩形的实例
Dec 05 Python
Python实现的旋转数组功能算法示例
Feb 23 Python
深入了解和应用Python 装饰器 @decorator
Apr 02 Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
Jul 25 Python
Python3 requests模块如何模仿浏览器及代理
Jun 15 Python
使用tensorflow进行音乐类型的分类
Aug 14 Python
Python作用域和名称空间的详细介绍
Apr 13 Python
在Python的Django框架下使用django-tagging的教程
May 30 #Python
使用url_helper简化Python中Django框架的url配置教程
May 30 #Python
在Python的Django框架中simple-todo工具的简单使用
May 30 #Python
Python中Django框架下的staticfiles使用简介
May 30 #Python
简单介绍Python的Django框架的dj-scaffold项目
May 30 #Python
Python的Django框架中settings文件的部署建议
May 30 #Python
Python的Django中django-userena组件的简单使用教程
May 30 #Python
You might like
基于mysql的论坛(7)
2006/10/09 PHP
PHP生成指定长度随机数最简洁的方法
2014/07/14 PHP
php需登录的文件上传管理系统
2020/03/21 PHP
django中的ajax组件教程详解
2018/10/18 PHP
jquery之empty()与remove()区别说明
2010/09/10 Javascript
DWZ刷新dialog解决方法
2013/03/03 Javascript
js导出格式化的excel 实例方法
2013/07/17 Javascript
解决jquery版本冲突的有效方法
2014/09/02 Javascript
JavaScript获取页面中表单(form)数量的方法
2015/04/03 Javascript
jQuery中 prop() attr()使用详解
2015/05/19 Javascript
详细分析使用AngularJS编程中提交表单的方式
2015/06/19 Javascript
jquery css实现邮箱自动补全
2016/11/14 Javascript
JavaScript获取当前时间向前推三个月的方法示例
2017/02/04 Javascript
浅谈js停止事件冒泡 阻止浏览器的默认行为(阻止超连接 #)
2017/02/08 Javascript
JS实现本地存储信息的方法(基于localStorage与userData)
2017/02/18 Javascript
jQuery设计思想
2017/03/07 Javascript
基于ES6 Array.of的用法(实例讲解)
2017/09/05 Javascript
使用proxy实现一个更优雅的vue【推荐】
2018/06/19 Javascript
最适应的vue.js的form提交涉及多种插件【推荐】
2018/08/27 Javascript
Vue动态生成el-checkbox点击无法赋值的解决方法
2019/02/21 Javascript
layui 上传插件 带预览 非自动上传功能的实例(非常实用)
2019/09/23 Javascript
echarts实现折线图的拖拽效果
2019/12/19 Javascript
[03:39]2015国际邀请赛主赛事首日精彩回顾
2015/08/05 DOTA
解决PyCharm同目录下导入模块会报错的问题
2018/10/13 Python
对python pandas读取剪贴板内容的方法详解
2019/01/24 Python
Python dict的常用方法示例代码
2020/06/23 Python
HTML5 通信API 跨域门槛将不再高、数据推送也不再是梦
2013/04/25 HTML / CSS
JINS眼镜官方网站:日本最大的眼镜邮购
2016/10/14 全球购物
经济实惠的豪华家具:My-Furniture
2019/03/12 全球购物
关联、聚合(Aggregation)以及组合(Composition)的区别
2012/02/29 面试题
人事主管岗位职责
2014/01/30 职场文书
员工入职担保书范文
2014/04/01 职场文书
物理课外活动总结
2014/08/27 职场文书
个人师德师风自我剖析材料
2014/09/29 职场文书
2014年终工作总结范本
2014/12/15 职场文书
一篇文章弄清楚Ajax请求的五个步骤
2022/03/17 Javascript