本文实例讲述了Python wxPython库使用wx.ListBox创建列表框。分享给大家供大家参考,具体如下:
如何创建一个列表框?
列表框是提供给用户选择的另一机制。选项被放置在一个矩形的窗口中,用户可以选择一个或多个。列表框比单选按钮占据较少的空间,当选项的数目相对少的时候,列表框是一个好的选择。然而,如果用户必须将滚动条拉很远才能看到所有的选项的话,那么它的效用就有所下降了。下图显示了一个wxPython列表框。
在wxPython中,列表框是类wx.ListBox
的元素。该类的方法使你能够处理列表中的选择。
如何创建一个列表框?
显示ListBox列表框的代码
import wxclass 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 | 用户一次只能选一个选项。实际上,在这种情况下,列表框的行为就像是一组单选按钮。 |
新闻热点
疑难解答