0

我对 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()

请帮忙。

4

1 回答 1

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

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

于 2012-04-30T13:25:36.393 回答