wxpython制作表格界面_Python wxPython库使用wx.ListBox创建列表框示例
本文实例讲述了Python wxPython库使用wx.ListBox创建列表框。分享给大家供大家参考,具体如下:
如何创建一个列表框?
列表框是提供给用户选择的另一机制。选项被放置在一个矩形的窗口中,用户可以选择一个或多个。列表框比单选按钮占据较少的空间,当选项的数目相对少的时候,列表框是一个好的选择。然而,如果用户必须将滚动条拉很远才能看到所有的选项的话,那么它的效用就有所下降了。下图显示了一个wxPython列表框。
在wxPython中,列表框是类wx.ListBox的元素。该类的方法使你能够处理列表中的选择。
如何创建一个列表框?
显示ListBox列表框的代码
import wx
class ListBoxFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, 'www.jb51.net - List Box Example',
size=(380, 250))
panel = wx.Panel(self, -1)
sampleList = ['zero', 'one', 'two', 'three', 'four', 'five',
'six', 'seven', 'eight', 'nine', 'ten', 'eleven',
'twelve', 'thirteen', 'fourteen']
listBox = wx.ListBox(panel, -1, (20, 20), (80, 120), sampleList,
wx.LB_SINGLE)
listBox.SetSelection(3)
if __name__ == '__main__':
app = wx.PySimpleApp()
ListBoxFrame().Show()
app.MainLoop()
wx.ListBox的构造函数类似于单选框的,如下所示:
wx.ListBox(parent,
id, pos=wx.DefaultPosition,
size=wx.DefaultSize, choices=None, style=0,
validator=wx.DefaultValidator, name="listBox")
单选框和列表框的主要区别是wx.ListBox没有label属性。显示在列表中的元素放置在参数choices中,它是一个字符串的序列。列表框有三种互斥的样式,它决定用户如何从列表框中选择元素,说明在列表框的选择类型样式表中。
用户通常对于多选有一些问题,因为它们一般希望见到的是单选列表,对于多选来说可能是有挑战性的(就像单选题和多选题一样),尤其是对于那些易受困扰的用户。如果你使用了一个多选的列表,我们建议你清楚地标明该列表。
列表框的选择类型样式表
wx.LB_EXTENDED
用户可以通过使用shift并敲击鼠标来选择一定范围内的连续的选项,或使用等同功能的按键。
wx.LB_MULTIPLE
用户可以一次选择多个选项(选项可以是不连续的)。实际上,在这种情况下,列表框的行为就像是一组复选框。
wx.LB_SINGLE
用户一次只能选一个选项。实际上,在这种情况下,列表框的行为就像是一组单选按钮。
有三种控制wx.ListBox中滚动条的显示的样式,如下表所示。
列表框的滚动条类型样式表
wx.LB_ALWAYS_SB
列表框将始终显示一个垂直的滚动条,不管有没有必要。
wx.LB_HSCROLL
如果本地控支持,那么列表框在选择项太多时,将创建一个水平滚动条。
wx.LB_HSCROLL
列表框只在需要的时候显示一个垂直的滚动条。这是默认样式。
还有一个样式wx.LB_SORT,它使得列表中的元素按字母顺序排序。
有两个专用于wx.ListBox的命令事件。EVT_LISTBOX事件在当列表中的一个元素被选择时触发(即使它是当前所选择的元素)。如果列表被双击,EVT_LISTBOX_DCLICK事件发生。
有一些专用于列表框的方法,你可以用来处理框中的项目。列表框的方法表对许多的方法作了说明。列表框中的项目索引从0开始。
一旦你有了一个列表框,自然就想把它与其它的窗口部件结合起来使用,如下拉菜单,或复选框。在下一节,我们对此作讨论。
列表框的方法表
Append(item)
把字符串项目添加到列表框的尾部。
Clear()
清空列表框。
Delete(n)
删除列表框中索引为n的项目。
Deselect(n)
在多重选择列表框中,导致位于位置n的选项取消选中。在其它样式中不起作用。
FindString(string)
返回给定字符串的整数位置,如果没有发现则返回-1。
GetCount()
返回列表中字符串的数量。
GetSelection()
GetSelection()得到当前选择项的整数索引(仅对于单选列表)。对于多选列表,使用GetSelections()来返回包含所选项目的整数位置的元组。对于单选列表,GetStringSelection()返回当前选择的字符串。相应的set方法使用布尔值参数select设置指定字符串或索引选项的状态。使用这种方法改变选择不触发EVT_LISTBOX事件。
SetSelection(n, select)
GetStringSelection()
SetStringSelection(string, select)
GetSelections()
GetString(n)
得到位置n处的字符串。
SetString(n, string)
设置位置n处的字符串。
InsertItems(items, pos)
插入参数items中的字符串列表到该列表框中pos参数所指定的位置前。位置0表示把项目放在列表的开头。
Selected(n)
返回对应于索引为n的项目的选择状态的布尔值。
Set(choices)
重新使用choices的内容设置列表框。
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
本文标题: Python wxPython库使用wx.ListBox创建列表框示例
本文地址: http://www.cppcns.com/jiaoben/python/238899.html
wxpython制作表格界面_Python wxPython库使用wx.ListBox创建列表框示例相关推荐
- wxpython制作表格界面_[Python] wxPython 菜单栏控件学习总结(原创)
1.总结 1.大体创建过程 1.创建一个 菜单栏 : menuBar = wx.MenuBar() 相当于这个白色地方,没有File这个菜单 2.创建 菜单 : fileMenu = wx.Menu( ...
- wxpython制作表格界面_wxpython入门第二步(布局)
一个典型的应用程序由各种小组件组成.这些组件被放置在容器里面.程序员必须管理应用程序的布局.在 wxPython 中,可以使用绝对定位或使用 sizer 来布局小组件. 绝对定位 程序员以像素为单位指 ...
- python制作窗口界面_python GUI库图形界面开发之PyQt5窗口背景与不规则窗口实例
窗口背景主要包括,背景色与背景图片,设置窗口背景有三种方法 使用QSS设置窗口背景 使用QPalette设置窗口背景 实现PainEvent,使用QPainter绘制背景 QSS设置窗口背景 在QSS ...
- python制作软件界面_Python图形界面GUI程序设计
1.GUI是什么? 图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面. 图形用户界面是一种人与计算机通信的界面显 ...
- 用python如何制作表格步骤_Python中用xlwt制作表格实例讲解
在Python中,我们也可以用xlwt来制作excel表格,是不是很神奇,接下来一起学习吧. 举例: ```python import xlwt wb = xlwt.Workbook(encoding ...
- qpython3可视图形界面_python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法...
QWidget基本介绍 基础窗口控件QWidget类是所有用户界面对象的基类,所有的窗口或者控件都直接或者间接的继承自QWidget类. 窗口坐标系统 PyQt使用统一的坐标系统来定位窗口控件的位置和 ...
- wxpython frame鼠标拖动_Python wxpython模块响应鼠标拖动事件操作示例
本文实例讲述了Python wxpython模块响应鼠标拖动事件操作.分享给大家供大家参考,具体如下: wxpython鼠标拖动事件小案例: #coding:UTF-8 import wx app = ...
- python制作窗口界面_python爬虫如何制作可视化界面?(pyqt5环境配置篇)
却道天凉好个秋~ pyqt5+python+qtdesigner+pycharm制作一个可视化的GUI爬虫工具 前言: 最近闲来无聊又开始了py之路,这次需要的是制作一个贴吧的关键词搜索相关帖子的工具 ...
- python绘制表格界面_python 读取 excel 生成 html 页面
前言 有天老板找我到办公室跟我说要做一个商城,商城卖出去东西就有佣金可以拿.我听着就头大.老板打开电脑给我看了网站:你看一下这个网站,照着它的流程就可以拥有一个商城了.我靠过去一看,大概了解一下:原来 ...
最新文章
- 【Docker】Docker的三大核心组件
- “输入字符不是 MATLAB 语句或表达式中的有效字符”的解决办法
- 移动端页面自适应解决方案—rem布局(进阶版)
- C++实现斐波那契查找(附完整源码)
- 非对称性密钥加密 java 实例_JAVA实现非对称加密
- 搭建xss-platform平台
- react数据从本地读取_如何将从Google表格读取的React应用程序部署到Netlify
- 信息学奥赛C++语言:奇数1
- 输出语句 WriteLine 与格式化输出 1006 c#
- android opengl版本太低,Android OpenGL:可能内存不足?
- 对小程序框架WePY的精简总结
- vb6.0 定义一个公共类_纠正网上的错误:能不能自定义一个类叫java.lang.System/String?...
- 找个轻量级的Log库还挺难
- 微型linux系统裁剪
- Lingo基础语法笔记
- revit 转换ifc_导出 IFC 文件以使用 BIM 软件进行编辑
- 24小时在线要饭网系统源码 全开源
- 解决word文件另存为PDF时图片变模糊
- Java SimpleDateFormat 中英文时间格式化转换
- 软件体系结构风格---基于事件的隐式调用
热门文章
- python不会英语不会数学怎么自学-文科女生学Python:学过初中数学和英语就能懂的编程逻辑...
- python常用代码总结-python字典的常用方法总结
- python怎样画立体图-如何用Matplotlib 画三维图的示例代码
- 自学python顺序-【经验分享】自学Python的学习顺序!附学习资料
- python怎么读写文件-python读写文件
- python怎么读-Python中怎么读写文件
- python入门经典代码-【python】编程语言入门经典100例--12
- 大神演示win10系统语音识别应用的详细教程
- 第D题 把手放在键盘上时,稍不注意就会往右错一位。
- 【java笔记】函数式编程