wxPython wx.Frame 具有 wx.Dialog 效果

wxPython wx.Frame with wx.Dialog effect

我想要一个 wx.Frame 具有 wx.Dialog 所具有的效果,即在它自行关闭之前您无法将其散开,使其高于其他所有。我需要使用 wx.Frame 而不是 wx.Dialog,因为当使用 wx.Dialog 并调用 dialog.ShowModal() 时,它不会继续执行代码直到得到答案。我试过这个:

self.Bind(wx.EVT_KILL_FOCUS,self.unfocus)

def unfocus(self,e):
    self.SetFocuse()

但是没有做到。

您要找的是MakeModal()。所以在你的框架 class 中,你会调用这样的东西:

self.MakeModal(True)

这仅适用于 wxPython classic。如果您碰巧在使用 Phoenix,那么您需要查看迁移指南,因为 MakeModal 已被删除: