将事件绑定到对话响应

时间:2012-04-29 16:56:58

标签: wxpython

我对wxpython很新。我有一个对话框,如果用户点击确定,那么它应该触发一个事件。我不确定事件如何绑定到对话框中的按钮。我尝试使用普通方法调用,但这导致了一个问题,当我关闭应用程序时,程序不会在终端级别终止。 我尝试过使用这样的东西。

def 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()

请帮忙。

1 个答案:

答案 0 :(得分: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()

是的,这是一个黑客,但我只是好奇,如果它有效...