上次完成了視窗功能表,讓我們的功力更上一層樓!
就像玩鐵人大富翁一樣,打越多怪!等級會愈來愈高
所以我們也要多練習一些python的範例
這樣我們的python功力也才能越來越高
今天要介紹的是顯示對話方塊,讓使用者選擇回答是/否,或是回答OK等視窗對話框
例如:顯示出底下的畫面
首先一樣用之前的basic.py範例檔來編修
basic.py內容如下所示:
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)
if __name__ =='__main__':
app=wx.PySimpleApp()
frame=bucky(parent=None,id=-1)
frame.Show()
app.MainLoop()
同樣的我們在底下這行指令之下
panel=wx.Panel(self)
去新增下面三行指令:
box=wx.MessageDialog(None,'鐵人大富翁好玩嗎?','Title for Messange Diaglog',wx.YES_NO)
answer=box.ShowModal()
box.Destroy()
第一行是顯示出'鐵人大富翁好玩嗎?'的訊息,視窗的標題名稱為'Title for Messange Diaglog'
然後wx.YES_NO表示顯示出讓使用者選擇YES和NO的按鈕
記得這裡一定要輸入wx.YES_NO而不能輸入wx.Yes_No喔!
否則會爆出錯誤訊息!
第二行是將使用者的選擇指定給answer這個變數
第三行是作為當使用者選擇完畢之後將畫面關閉掉
第二、三行都是預設一定要這樣寫的
所以完整的範例如下:
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)
box=wx.MessageDialog(None,'鐵人大富翁好玩嗎?','Title for Messange Diaglog',wx.YES_NO)
answer=box.ShowModal()
box.Destroy()
if __name__ =='__main__':
app=wx.PySimpleApp()
frame=bucky(parent=None,id=-1)
frame.Show()
app.MainLoop()
請存檔然後執行,看看會不會出現剛剛提到的那個"鐵人大富翁好玩嗎?"的畫面
範例成功!
經驗值+49
恭喜您!等級升級一級!目前是等級15