私はDCで描画するパネルのサブクラスで、独自のボタンクラスを作成しています。カスタムボタンが押されたときにwx.EVT_BUTTONを起動する必要があります。どうすればいいのですか?wxPythonでは、どのようにイベントを発生させるのですか?
2
A
答えて
6
wx.CommandEventオブジェクトを作成し、settersを呼び出して適切な属性を設定し、wx.PostEventに渡します。
http://docs.wxwidgets.org/stable/wx_wxcommandevent.html#wxcommandeventctor
http://docs.wxwidgets.org/stable/wx_miscellany.html#wxpostevent
これは重複して、より多くの情報は、これらのオブジェクトを構築する上でここにあります:
9
のWikiは参照のためにかなりいいです。 Andrea Gavanaには、自分自身を構築するための完全なレシピがありますcustom controls。以下は、そこから直接採取し(ノート自己wx.PyControlのサブクラスを参照している)何FogleBird answered with延びている。
def SendCheckBoxEvent(self):
""" Actually sends the wx.wxEVT_COMMAND_CHECKBOX_CLICKED event. """
# This part of the code may be reduced to a 3-liner code
# but it is kept for better understanding the event handling.
# If you can, however, avoid code duplication; in this case,
# I could have done:
#
# self._checked = not self.IsChecked()
# checkEvent = wx.CommandEvent(wx.wxEVT_COMMAND_CHECKBOX_CLICKED,
# self.GetId())
# checkEvent.SetInt(int(self._checked))
if self.IsChecked():
# We were checked, so we should become unchecked
self._checked = False
# Fire a wx.CommandEvent: this generates a
# wx.wxEVT_COMMAND_CHECKBOX_CLICKED event that can be caught by the
# developer by doing something like:
# MyCheckBox.Bind(wx.EVT_CHECKBOX, self.OnCheckBox)
checkEvent = wx.CommandEvent(wx.wxEVT_COMMAND_CHECKBOX_CLICKED,
self.GetId())
# Set the integer event value to 0 (we are switching to unchecked state)
checkEvent.SetInt(0)
else:
# We were unchecked, so we should become checked
self._checked = True
checkEvent = wx.CommandEvent(wx.wxEVT_COMMAND_CHECKBOX_CLICKED,
self.GetId())
# Set the integer event value to 1 (we are switching to checked state)
checkEvent.SetInt(1)
# Set the originating object for the event (ourselves)
checkEvent.SetEventObject(self)
# Watch for a possible listener of this event that will catch it and
# eventually process it
self.GetEventHandler().ProcessEvent(checkEvent)
# Refresh ourselves: the bitmap has changed
self.Refresh()
関連する問題
- 1. Tkinterでイベントを発生させないようにするにはどうしたらいいですか?
- 2. Googleの線グラフで「選択」イベントを発生させるにはどうすればよいですか?
- 3. イベントリスナーの実行を待たずにイベントを発生させるにはどうすればよいですか?
- 4. 高解像度のインターバル/タイマーでイベントを発生させよう
- 5. 別のイベントの中からイベントを発生させるのは嫌ですか?
- 6. システム変数のイベントを発生させるにはどうすればよいですか?
- 7. 各フレームでactionscript 2イベントを発生させるにはどうすればよいですか?
- 8. PerlNetモジュールでイベントを発生させるにはどうすればよいですか?
- 9. KendoUI DatePickerで変更イベントを発生させるにはどうすればよいですか?
- 10. C#WinForms - コードでEditingControlShowingイベントを発生させるにはどうすればよいですか?
- 11. javascriptでtouchcancelイベントを発生させるにはどうすればよいですか?
- 12. 変更イベントを発生させずにチェックボックスをチェックするにはどうすればよいですか?
- 13. AS3でeventListenerイベントを発生させるオブジェクトをどのように回復できますか?
- 14. どのように手動でwxPythonのイベント
- 15. ASP.Net - ポストバックを発生させずにサーバー側でボタンのイベントを発生させよう
- 16. JQGrid loadCompleteイベントを発生させないようにする
- 17. スクロール時にjQueryイベントを発生させるにはどうすればよいですか?
- 18. Firemonkeyカスタムコントロールをクリックして、デザイナでイベントを発生させよう
- 19. Moqを使用してイベントを発生させるにはどうすればよいですか?
- 20. onItemDisclosureイベントを発生させるとitemtapイベントが発生する
- 21. 手動でmouseoverイベントを発生させよう
- 22. JavaScriptでイベントを発生させる
- 23. Javascriptで「ペースト」イベントを発生させる
- 24. WPFでイベントを発生させる
- 25. 標準のDelegateCommand CanExecuteChangedイベントはどのようにSilverlightで発生しますか?
- 26. asp.netでイベントを発生させる順序をどのように管理しますか?
- 27. iPadスクロール - スクロール中にどのようなイベントが発生するのですか?
- 28. 1つの要素でイベントを発生させるにはどうすればいいですか?
- 29. com.google.gwt.user.client.ui.DeckPanelはどのようなイベントを発生させることができますか?
- 30. INotifyCollectionChanged/ObservableCollectionのコードでCollectionChangedイベントを発生させるには?
あなたは私のより詳細な説明を与えるだろうか?私は実際に初心者以上のものではありません。また、答えに感謝します。 –