iT邦幫忙

DAY 24
1

與Python共舞系列 第 24

Python的學習之旅-建立List Boxes

上次我們練習建立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


上一篇
Python的學習之旅-建立Check Boxes
下一篇
Python的學習之旅-建立Choice List Dialog
系列文
與Python共舞30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言