我需要使用两个事件将消息从子框架发送到主框架,并关闭子框架(通过使用pubsub)。其中一个事件是子框架上“取消”按钮的单击事件,另一个事件是子框架的关闭事件。所以我对它们都使用了一个通用的“OnClose”函数。以下是我的相关代码:
self.Bind(wx.EVT_BUTTON, self.OnClose, id=cancel.GetId())
self.Bind( wx.EVT_CLOSE, self.OnClose )
def OnClose(self, event):
self.Close()
Pubsub().sendMessage(("show.mainframe"),"")`
每次我关闭子框架时,它实际上并没有关闭,当我试图从主框架重新打开子框架时,会在前一个子框架的基础上生成一个新的子框架。 实际上,我通过使用析构函数(del)内部的代码解决了这个问题。但我很好奇为什么第一种方法不起作用。在
提前谢谢。在
尝试在OnClose方法中反转调用的顺序。把pubsub的呼叫放在第一位,最后一个是Close call。或者只在末尾使用Destroy()而不是Close()。
相关问题 更多 >
编程相关推荐