繁体   English   中英

WxPython框架无法捕获EVT_SET_FOCUS

[英]WxPython frame not catching EVT_SET_FOCUS

我在这里设置了一个框架,我需要知道主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 = 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_ACTIVATE

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM