2008年5月21日 星期三

wxPython中的Dialog : wx.MessageDialog, wx.TextEntryDialog, wx.SingleChoiceDialog

wx.MessageDialog : 簡單的yes/no對話框.
語法 :


wx.MessageDialog(parent, message,
caption="Message box",
style=wx.OK | wx.CANCEL,
pos=wx.DefaultPosition)

範例:

dlg = wx.MessageDialog(None, 'Is this the coolest thing ever!',
'MessageDialog', wx.YES_NO | wx.ICON_QUESTION)
result = dlg.ShowModal()
if result == wx.ID_YES:
#do yes
else:
#do no
dlg.Destroy()

解釋 :
ShowModal()會將視窗產生出來, 而當你點下了視窗的button以後, ShowModal會回傳wx裡面定義的巨集變數 : wx.ID_YES, wx.ID_NO, wx.ID_CANCEL, wx.ID_OK. 這些都是一個整數, 用來分辨ShowModal回傳的結果.

wx.TextEntryDialog: Dialog裡面有一個可以輸入Text的區域, 用來取得User的Input Text

dlg = wx.TextEntryDialog(None, "Who is buried in Grant's tomb?",
'A Question', 'Cary Grant')
if dlg.ShowModal() == wx.ID_OK:
#取得Dialog裡面的Text, SetValue(text)可以改變Dialog裡面Text的內容
response = dlg.GetValue()

wx.SingleChoiceDialog: 可以限定User從你指定的list裡面, 選擇一個想要的選項

dlg = wx.SingleChoiceDialog(None,
'What version of Python are you using?',
'Single Choice',
['1.5.2', '2.0', '2.1.3', '2.2', '2.3.1'],
if dlg.ShowModal() == wx.ID_OK:
#取得選擇選項的字串, GetSelection()可以取得選擇選項的index
response = dlg.GetStringSelection()


參考資料 :
http://www.pythontik.com/blog/article.asp?id=185

沒有留言: