0

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

これは非常に迷惑です。これは、私が行方不明になっているドキュメントのどこかにありますか? ありがとう

4

2 に答える 2

1

wxPython ドキュメントは、基礎となる C++ wxWidgets ドキュメントほど完全ではないため、多くの場合、C++ ドキュメントを使用して、通常はフォームのすべてのシンボルを に変換する必要がありwxFooますwx.Foo

おそらく、この 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 を使っていれば慣れます。

于 2013-04-25T13:21:50.687 に答える
0

確かに混乱しているこれらのドキュメントにアクセスする必要があります。

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

すべてのイベントは、そのイベントから派生します。そのため、サブクラスをクリックして、他に追加されたメソッドを確認する必要があります。これらのサブクラスの一部には、追加のサブクラスとメソッドがあります。はい、それはちょっと醜いです。

于 2013-04-25T13:30:36.203 に答える