国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

Python wxPython庫(kù)使用wx.ListBox創(chuàng)建列表框示例

2020-01-04 14:35:44
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例講述了Python wxPython庫(kù)使用wx.ListBox創(chuàng)建列表框。分享給大家供大家參考,具體如下:

如何創(chuàng)建一個(gè)列表框?

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

Python,wxPython,wx.ListBox,列表框

在wxPython中,列表框是類wx.ListBox的元素。該類的方法使你能夠處理列表中的選擇。

如何創(chuàng)建一個(gè)列表框?

顯示ListBox列表框的代碼

import wxclass ListBoxFrame(wx.Frame): def __init__(self):  wx.Frame.__init__(self, None, -1, 'm.survivalescaperooms.com - 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的構(gòu)造函數(shù)類似于單選框的,如下所示:

wx.ListBox(parent,
    id, pos=wx.DefaultPosition,
    size=wx.DefaultSize, choices=None, style=0,
    validator=wx.DefaultValidator, name="listBox")

單選框和列表框的主要區(qū)別是wx.ListBox沒(méi)有l(wèi)abel屬性。顯示在列表中的元素放置在參數(shù)choices中,它是一個(gè)字符串的序列。列表框有三種互斥的樣式,它決定用戶如何從列表框中選擇元素,說(shuō)明在列表框的選擇類型樣式表中。
用戶通常對(duì)于多選有一些問(wèn)題,因?yàn)樗鼈円话阆M姷降氖菃芜x列表,對(duì)于多選來(lái)說(shuō)可能是有挑戰(zhàn)性的(就像單選題和多選題一樣),尤其是對(duì)于那些易受困擾的用戶。如果你使用了一個(gè)多選的列表,我們建議你清楚地標(biāo)明該列表。

列表框的選擇類型樣式表

 

wx.LB_EXTENDED 用戶可以通過(guò)使用shift并敲擊鼠標(biāo)來(lái)選擇一定范圍內(nèi)的連續(xù)的選項(xiàng),或使用等同功能的按鍵。
wx.LB_MULTIPLE 用戶可以一次選擇多個(gè)選項(xiàng)(選項(xiàng)可以是不連續(xù)的)。實(shí)際上,在這種情況下,列表框的行為就像是一組復(fù)選框。
wx.LB_SINGLE 用戶一次只能選一個(gè)選項(xiàng)。實(shí)際上,在這種情況下,列表框的行為就像是一組單選按鈕。

 

有三種控制wx.ListBox中滾動(dòng)條的顯示的樣式,如下表所示。

列表框的滾動(dòng)條類型樣式表

 

wx.LB_ALWAYS_SB 列表框?qū)⑹冀K顯示一個(gè)垂直的滾動(dòng)條,不管有沒(méi)有必要。
wx.LB_HSCROLL 如果本地控支持,那么列表框在選擇項(xiàng)太多時(shí),將創(chuàng)建一個(gè)水平滾動(dòng)條。
wx.LB_HSCROLL 列表框只在需要的時(shí)候顯示一個(gè)垂直的滾動(dòng)條。這是默認(rèn)樣式。

 

還有一個(gè)樣式wx.LB_SORT,它使得列表中的元素按字母順序排序。

有兩個(gè)專用于wx.ListBox的命令事件。EVT_LISTBOX事件在當(dāng)列表中的一個(gè)元素被選擇時(shí)觸發(fā)(即使它是當(dāng)前所選擇的元素)。如果列表被雙擊,EVT_LISTBOX_DCLICK事件發(fā)生。

有一些專用于列表框的方法,你可以用來(lái)處理框中的項(xiàng)目。列表框的方法表對(duì)許多的方法作了說(shuō)明。列表框中的項(xiàng)目索引從0開始。

一旦你有了一個(gè)列表框,自然就想把它與其它的窗口部件結(jié)合起來(lái)使用,如下拉菜單,或復(fù)選框。在下一節(jié),我們對(duì)此作討論。

列表框的方法表

 

Append(item) 把字符串項(xiàng)目添加到列表框的尾部。
Clear() 清空列表框。
Delete(n) 刪除列表框中索引為n的項(xiàng)目。
Deselect(n) 在多重選擇列表框中,導(dǎo)致位于位置n的選項(xiàng)取消選中。在其它樣式中不起作用。
FindString(string) 返回給定字符串的整數(shù)位置,如果沒(méi)有發(fā)現(xiàn)則返回-1。
GetCount() 返回列表中字符串的數(shù)量。
GetSelection() GetSelection()得到當(dāng)前選擇項(xiàng)的整數(shù)索引(僅對(duì)于單選列表)。對(duì)于多選列表,使用GetSelections()來(lái)返回包含所選項(xiàng)目的整數(shù)位置的元組。對(duì)于單選列表,GetStringSelection()返回當(dāng)前選擇的字符串。相應(yīng)的set方法使用布爾值參數(shù)select設(shè)置指定字符串或索引選項(xiàng)的狀態(tài)。使用這種方法改變選擇不觸發(fā)EVT_LISTBOX事件。
SetSelection(n, select)
GetStringSelection()
SetStringSelection(string, select)
GetSelections()
GetString(n) 得到位置n處的字符串。
SetString(n, string) 設(shè)置位置n處的字符串。
InsertItems(items, pos) 插入?yún)?shù)items中的字符串列表到該列表框中pos參數(shù)所指定的位置前。位置0表示把項(xiàng)目放在列表的開頭。
Selected(n) 返回對(duì)應(yīng)于索引為n的項(xiàng)目的選擇狀態(tài)的布爾值。
Set(choices) 重新使用choices的內(nèi)容設(shè)置列表框。

 

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到python教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 文昌市| 沅陵县| 仁怀市| 本溪市| 巨鹿县| 宜春市| 巨鹿县| 唐河县| 荥经县| 巴中市| 安阳县| 临邑县| 肥东县| 石棉县| 桐乡市| 正宁县| 大邑县| 土默特右旗| 常德市| 宜丰县| 高州市| 湟源县| 东丰县| 平远县| 荣昌县| 凤翔县| 曲水县| 蒲城县| 雅江县| 遵义市| 南澳县| 光山县| 应城市| 石柱| 泾源县| 罗平县| 永清县| 安福县| 遂溪县| 武陟县| 峨眉山市|