2012-04-29 63 views
0

我對wxpython很陌生。我有一個對話框,如果用戶點擊確定,那麼它應該觸發一個事件。我不確定事件是如何綁定到對話框中的按鈕的。我嘗試使用普通的方法調用,但是這導致了一個問題,當我關閉應用程序時,程序沒有在終端級別終止。 我試過用這樣的東西。將事件綁定到對話響應

高清OnclickMe(個體經營,事件):

dlg = wx.MessageDialog(None, 'Is this right', 'MessageDialog', wx.YES_NO | wx.ICON_QUESTION) 
    result = dlg.ShowModal() 
    if result == wx.ID_YES: 
     self.IfYes() 
    dlg.Destroy() 
def IfYes(self): 
    dlg = wx.TextEntryDialog(None, "Wats ur opinion?", 'A Question', '') 
    if dlg.ShowModal() == wx.ID_OK: 
     response = dlg.GetValue() 

請幫助。

回答

0

當您調用IfYes()時,您暫停銷燬第一個對話框,直到第二個對話框關閉/銷燬。我認爲它會工作,但如果你摧毀了TextEntryDialog。執行應該返回到「if」語句並且不屬於該語句,從而破壞對話。如果仍有問題,請嘗試從條件中調用IfYes()方法。像這樣的東西應該工作:

yes_or_no = False 
if result == wx.ID_YES: 
    yes_or_no = True 
dlg.Destroy() 
if yes_or_no: 
    self.IfYes() 

啊,這是一個黑客,但我如果作品只是好奇...

+0

我曾嘗試使用上面的代碼試圖摧毀了另一個對話框也。現在它工作得很好。非常感謝 :) – sushma