WxPython帧未捕捉EVT\u设置\u焦点
我在这里设置了一个框架,我需要知道主gui中的活动对话框,所以我想到了以下内容:WxPython帧未捕捉EVT\u设置\u焦点,python,events,dialog,wxpython,wxwidgets,Python,Events,Dialog,Wxpython,Wxwidgets,我在这里设置了一个框架,我需要知道主gui中的活动对话框,所以我想到了以下内容: class PlotFrame ( wx.Frame ): def __init__( self, parent, title , dialog_id): wx.Frame.__init__(self, None, size=(500, 500), title=title) self.parent = parent self.dialog_id = dial
class PlotFrame ( wx.Frame ):
def __init__( self, parent, title , dialog_id):
wx.Frame.__init__(self, None, size=(500, 500), title=title)
self.parent = parent
self.dialog_id = dialog_id
self.Bind(wx.EVT_SET_FOCUS, self.on_focus)
def __del__( self ):
pass
def on_focus(self, event):
print "Focus:", self.dialog_id
self.parent.set_active_dialog(self.dialog_id)
这正是文档所说的,但单击对话框时不会调用我的事件处理程序。在Linux中运行。感谢您的帮助您通常不会将焦点设置在框架或面板上。相反,您可以将其设置为用户界面中的第一个子小部件。事实上,wxPython通常会自动为您执行此操作,这样,如果您有一个按钮或文本框作为第一个控件,它通常会在默认情况下获得焦点
我真的看不出将焦点设置到帧的意义。如果您只想知道帧是否处于活动状态,那么您应该绑定到
wx.EVT\u ACTIVATE
。谢谢。这就是我需要的