上次我們練習建立List Boxes
今天我們要練習建立Choice List Dialog
首先我們先看看教學範例的說明
請參考底下的網站連結
http://www.youtube.com/watch?v=KXBobnBKSSk&feature=channel
看完教學範例之後就來動手練習吧!
我們今天就不完全照抄教學範例的內容
而是要驗收之前學過的內容
當選擇完畢之後要顯示到視窗成為靜態文字
因此我們一樣是開啟basic.py檔案
然後新增底下這六行指令!(今天就不是只有三行就能解決的了)
names=['Microsoft', 'Google', 'Apple', 'Intel']
box=wx.SingleChoiceDialog(None, "您喜歡哪一家公司?", "您想加入的公司名稱", names)
if box.ShowModal()==wx.ID_OK:
answer=box.GetStringSelection()
answer1="The Company that you selected is %s\n" % answer
wx.StaticText(panel,-1,answer1, (20,40))
box.Destroy()
首先第一行是建立一個清單,設定了四家公司名稱,分別是'Microsoft', 'Google', 'Apple', 'Intel'
第二行就是建立一個Choice List Dialog,詢問您喜歡哪一家公司?
第三行是判斷使用者是否點選OK?
第四行將The Company that you selected is加上使用者選擇的項目指定給變數answer
第五行建立一個靜態文字顯示視窗並將answer內容顯示出來
第六行是將視窗關閉掉
接下來就存檔並執行吧!
如果成功了!我們就可以看到如下的畫面:
當您試著點選其中一個項目,並點選OK之後
就會再出現如下的畫面
底下就是我們修改過的完整程式碼:
# -*- coding: cp950 -*-
import wx
class bucky(wx.Frame):
def __init__(self,parent,id):
wx.Frame.__init__(self,parent,id,'Frame jackaitw Windows',size=(300,200))
panel=wx.Panel(self)
names=['Microsoft', 'Google', 'Apple', 'Intel']
box=wx.SingleChoiceDialog(None, "您喜歡哪一家公司?", "您想加入的公司名稱", names)
if box.ShowModal()==wx.ID_OK:
answer="The Company that you selected is %s\n" % box.GetStringSelection()
wx.StaticText(panel,-1,answer, (20,40))
box.Destroy()
if __name__ =='__main__':
app=wx.PySimpleApp()
frame=bucky(parent=None,id=-1)
frame.Show()
app.MainLoop()
今天的錯誤訊息是:
Traceback (most recent call last):
File "C:/Python25/choiceListDialog.py", line 7, in <module>
modal=wx.SinleChoiceDialog(None, "您喜歡哪一家公司?", "您想加入的公司名稱", names)
AttributeError: 'module' object has no attribute 'SinleChoiceDialog'
這是將關鍵字SingleChoiceDialog少打了個g字。
練習看看吧!
今天的程式碼整合成功!!
經驗值+99
恭喜您!等級升級一級!目前是等級25