本文實例講述了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 | 用戶一次只能選一個選項。實際上,在這種情況下,列表框的行為就像是一組單選按鈕。 |
新聞熱點
疑難解答