wx.FindWindowByName() 的例子

Example of wx.FindWindowByName()

你能告诉我 FindWindowByName 是如何工作的吗?我找不到任何实施它的例子。 我需要识别并打开一个开放框架以将消息附加到 it.I 只能找到语法并且无法理解 it.Throws 未绑定方法 error.I 知道调用方法时会弹出此错误使用错误的 object.But 我无法使用 wx.Window 对象调用此方法,因为这是我首先要获得的对象....

主要要求是设置 window 的名称,当它通过将 name="foo" 传递给它的 __init__ 或使用 SetName("foo") 方法创建时。然后您可以使用 wx.FindWindowByName 稍后获取 window:

>>> import wx
>>> frm = wx.Frame(None, title='FooBar', name='foobar')
>>> frm.Show()
True
>>> 
>>> f = wx.FindWindowByName('busted')
>>> print f
None
>>> f = wx.FindWindowByName('foobar')
>>> print f
<wx._windows.Frame; proxy of <Swig Object of type 'wxFrame *' at 0x1003cdf30> >
>>> print frm
<wx._windows.Frame; proxy of <Swig Object of type 'wxFrame *' at 0x1003cdf30> >
>>> 
>>> f == frm
True
>>> f is frm
True
>>> 

除了上面使用的全局函数外,在wx.Windowclass中还有一个名为FindWindowByName的静态方法做同样的事情,在wxPython的早期版本中有一个非静态方法只搜索 window 的子项。所以这可能就是您遇到的困惑的来源。使用如上所示的全局函数应该可以安全地用于所有版本的 wxPython 但是,如果您需要将搜索限制在包含层次结构的特定子树中,那么您可以将父 window 作为第二个参数传递.