2013-04-25 62 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

所有事件從該事件的。所以你必須點擊一個子類來查看添加了哪些其他方法。其中一些子類還有其他的子類和方法。是的,這有點醜。