2013-04-25 61 views
0

如何查找wxpython发布的各种事件的函数和属性?查找wxpython事件文档

当结合功能被触发的事件被发送到绑定函数例如为:

self.Bind(wx.EVT_BUTTON, self.eventButtonFunction, self.button) 
... 
def eventButtonFunction(self,event): 

每个窗口小部件(例如复选框,切换按钮等)具有不同的一组属性和功能。我无法找到在此文档等信息已经被诉诸使用DIR到全部打印出来,像这样:

def eventButtonFunction(self,event): 
    for s in dir(event): 
     print s 

这是很烦人的。这是在我失踪的文档中吗? 感谢

回答

1

的wxPython的文档是不作为底层C++的wxWidgets文档齐全,所以在很多情况下,你必须使用C++文档,通常翻译的形式wxFoowx.Foo的所有符号。

您可能正在寻找类似于this list的东西,它是映射到它们所应用的宏的所有事件类的列表,并且每个类都超链接到类定义,尽管它仍不完全完整。

从内存中,EVT_BUTTON产生wxCommandEvent,但如果你不知道你得到哪些事件类型,打印事件对象的repr应该有所帮助。

例如...

def eventButtonFunction(self, event): 
    print repr(event) 

... ...产量

<wx._core.CommandEvent; proxy of <Swig Object of type 'wxCommandEvent *' at 0x21eaec> > 

这是一个有点痛在第一,但你使用wxPython的一段时间后,你会习惯它。

+0

谢谢。它不会在wxWidgets或wxpython的wxButton文档页面上的任何位置说wxCommandEvent。那么我可以问你如何解决它生成的wxCommandEvent? – Anake 2013-04-25 16:04:53

+0

@Anake查看更新后的答案。 – Aya 2013-04-25 16:20:01

0

你必须去这些文档,这是无可否认的,令人困惑:

http://wxpython.org/docs/api/wx.Event-class.html

所有事件从该事件的。所以你必须点击一个子类来查看添加了哪些其他方法。其中一些子类还有其他的子类和方法。是的,这有点丑。