2013-04-25 2 views
0

Как я могу узнать функции и атрибуты различных событий, выпущенных wxpython?найти документацию о событиях wxpython

Когда оценка функции инициируется событие посылается на связанной функции например .:

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

Каждый виджет (например, флажок, и т.д.) ToggleButton имеет различный набор атрибутов и функций. Я не могу найти эту информацию в документации и так было прибегать к использованию директории для печати их все так:

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

, который очень раздражает. Является ли это в документах где-то, что мне не хватает? Благодаря

ответ

1

The 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 на некоторое время, вы привыкнете к этому.

+0

Спасибо. Он не говорит wxCommandEvent где-нибудь на страницах wxWidgets или wxpython doc для wxButton. Могу ли я спросить, как вы это разработали, что он создал wxCommandEvent? – Anake

+0

@Anake См. Обновленный ответ. – Aya

0

Вы должны пойти на эти документы, которые по общему признанию, запутанных:

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

Все события происходят от этого события. Поэтому вам нужно щелкнуть по подклассу, чтобы узнать, какие другие методы добавлены. И некоторые из этих подклассов имеют дополнительные подклассы и методы. Да, это отвратительно.