中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python wxPython庫使用wx.ListBox創建列表框示例

發布時間:2020-09-21 20:17:26 來源:腳本之家 閱讀:307 作者:烈風 欄目:開發技術

本文實例講述了Python wxPython庫使用wx.ListBox創建列表框。分享給大家供大家參考,具體如下:

如何創建一個列表框?

列表框是提供給用戶選擇的另一機制。選項被放置在一個矩形的窗口中,用戶可以選擇一個或多個。列表框比單選按鈕占據較少的空間,當選項的數目相對少的時候,列表框是一個好的選擇。然而,如果用戶必須將滾動條拉很遠才能看到所有的選項的話,那么它的效用就有所下降了。下圖顯示了一個wxPython列表框。

Python wxPython庫使用wx.ListBox創建列表框示例

在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程序設計有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

濉溪县| 香港| 磐石市| 滨州市| 鱼台县| 定安县| 南安市| 禹城市| 且末县| 大城县| 横山县| 宁蒗| 达孜县| 财经| 西宁市| 吴忠市| 临泽县| 罗定市| 政和县| 高清| 西贡区| 昌宁县| 恩施市| 抚顺县| 伽师县| 介休市| 平江县| 澳门| 寿宁县| 延长县| 桐城市| 永丰县| 中宁县| 宜兰市| 自治县| 榆社县| 沙河市| 崇礼县| 新建县| 伊金霍洛旗| 景谷|