上次我們練習建立CheckBox
今天我們要練習建立List Boxes
首先我們先看看教學範例的說明
請參考底下的網站連結
http://www.youtube.com/watch?v=f8rk74r83R8&feature=channel
看完教學範例之後就來動手練習吧!
首先一樣是開啟basic.py檔案
然後新增底下這三行指令!(好巧喔!又是只有三行就解決了)
mylist=['冰之劍','炎之劍','時之劍','真炎之劍','真冰之劍']
cunt=wx.ListBox(panel, -1, (20,20), (80,60), mylist, wx.LB_SINGLE)
cunt.SetSelection(2)
第一行是建立一個mylist的變數,並指定到一個list(共有五個值),分別是'冰之劍','炎之劍','時之劍','真炎之劍','真冰之劍'。
第二行是建立一個ListBox並顯示在畫面x軸=20以及y軸=20的位置,並且寬度設定為80,高度設定為60,指定的值就是剛剛建立的mylist變數。
第三行是設定預設值是指定第3個值就是'時之劍',list的值是從0開始起算,所以如果設定cunt.SetSelection(0),那麼答案將是'冰之劍'。
接下來就存檔並執行吧!
如果成功了!我們就可以看到如下的畫面:
這樣就可以點選我們所需要的清單了
這個功能也常常被用到喔!
完整的程式碼如下:
# -*- coding: cp950 -*-
import wx
class bucky(wx.Frame):
def __init__(self,parent,id):
wx.Frame.__init__(self,parent,id,'Frame jackaitw window',size=(300,200))
panel=wx.Panel(self)
mylist=['冰之劍','炎之劍','時之劍','真炎之劍','真冰之劍']
cunt=wx.ListBox(panel, -1, (20,20), (80,60), mylist, wx.LB_SINGLE)
cunt.SetSelection(2)
if __name__ =='__main__':
app=wx.PySimpleApp()
frame=bucky(parent=None,id=-1)
frame.Show()
app.MainLoop()
今天的錯誤訊息是:
Traceback (most recent call last):
File "C:/Python25/listbox.py", line 14, in <module>
frame=bucky(parent=None,id=-1)
File "C:/Python25/listbox.py", line 9, in __init__
cunt=wx.listBox(panel, -1, (20,20), (80,60), mylist, wx.LB_SINGLE)
AttributeError: 'module' object has no attribute 'listBox'
因為我將保留字輸入成為wx.listBox,記得要輸入大寫的L
修正為wx.ListBox才正確,Python真是嚴謹啊!
練習看看吧!
真的要多多輸入程式碼!才會知道問題出在哪裡!
範例成功!
經驗值+49
恭喜您!等級升級一級!目前是等級24