【问题标题】:finding wxpython event documentation查找 wxpython 事件文档
【发布时间】:2013-04-25 12:46:27
【问题描述】:

如何查看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

这很烦人。这是在我缺少的某个地方的文档中吗? 谢谢

【问题讨论】:

    标签: python wxpython wxwidgets


    【解决方案1】:

    wxPython 文档不像底层 C++ wxWidgets 文档那样完整,因此在许多情况下,您必须使用 C++ 文档,通常将 wxFoo 形式的所有符号转换为 wx.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就习惯了。

    【讨论】:

    • 谢谢。 wxButton 的 wxWidgets 或 wxpython 文档页面上的任何地方都没有说 wxCommandEvent。那么我能问一下您是如何计算出它生成了 wxCommandEvent 的吗?
    【解决方案2】:

    你必须去这些文档,诚然,这些文档令人困惑:

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

    所有事件都源自该事件。因此,您必须单击一个子类才能查看添加了哪些其他方法。其中一些子类有额外的子类和方法。是的,有点丑。

    【讨论】:

      猜你喜欢
      • 2014-05-06
      • 1970-01-01
      • 2019-08-05
      • 1970-01-01
      • 2011-10-13
      • 2014-12-08
      • 1970-01-01
      • 2011-04-19
      • 1970-01-01
      相关资源
      最近更新 更多