示例芬比.道恩()

2024-09-30 02:15:10 发布

您现在位置:Python中文网/ 问答频道 /正文

你能告诉我FindWindowByName是怎么工作的吗?我找不到任何实现它的例子。 我需要识别并打开一个打开的框架来附加消息。我只能找到语法,理解有困难它。扔未绑定方法错误。我知道当使用错误的反对。但是我不能使用wx.窗口对象,因为这正是我首先试图获得的。。。。在


Tags: 对象方法框架消息错误语法例子wx
1条回答
网友
1楼 · 发布于 2024-09-30 02:15:10

主要要求是设置窗口的名称,无论是通过将name="foo"传递给其__init__创建的,还是使用SetName("foo")方法创建的。然后您可以使用wx.FindWindowByName在以后获取该窗口:

>>> 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.Window类中还有一个名为FindWindowByName的静态方法,它执行相同的操作,在wxPython的早期版本中,有一个非静态方法只搜索窗口的子级。所以这可能就是你所经历的困惑的来源。但是,在wxPython的所有版本中使用如上所示的全局函数应该是安全的,如果需要将搜索限制在包含层次结构的特定子树上,那么可以将父窗口作为第二个参数传递。在

相关问题 更多 >

    热门问题