私はwxPythonでカスタムボタンを作りたいと思います。どこから始めたらいいですか、どうすればいいですか?wxでカスタムボタンを作成するには?
5
A
答えて
8
は、ここでは、完全にカスタムボタンを描画するために使用できるスケルトンで、それが見えますか、どのようにあなたの想像力へのアップが
class MyButton(wx.PyControl):
def __init__(self, parent, id, bmp, text, **kwargs):
wx.PyControl.__init__(self,parent, id, **kwargs)
self.Bind(wx.EVT_LEFT_DOWN, self._onMouseDown)
self.Bind(wx.EVT_LEFT_UP, self._onMouseUp)
self.Bind(wx.EVT_LEAVE_WINDOW, self._onMouseLeave)
self.Bind(wx.EVT_ENTER_WINDOW, self._onMouseEnter)
self.Bind(wx.EVT_ERASE_BACKGROUND,self._onEraseBackground)
self.Bind(wx.EVT_PAINT,self._onPaint)
self._mouseIn = self._mouseDown = False
def _onMouseEnter(self, event):
self._mouseIn = True
def _onMouseLeave(self, event):
self._mouseIn = False
def _onMouseDown(self, event):
self._mouseDown = True
def _onMouseUp(self, event):
self._mouseDown = False
self.sendButtonEvent()
def sendButtonEvent(self):
event = wx.CommandEvent(wx.wxEVT_COMMAND_BUTTON_CLICKED, self.GetId())
event.SetInt(0)
event.SetEventObject(self)
self.GetEventHandler().ProcessEvent(event)
def _onEraseBackground(self,event):
# reduce flicker
pass
def _onPaint(self, event):
dc = wx.BufferedPaintDC(self)
dc.SetFont(self.GetFont())
dc.SetBackground(wx.Brush(self.GetBackgroundColour()))
dc.Clear()
# draw whatever you want to draw
# draw glossy bitmaps e.g. dc.DrawBitmap
if self._mouseIn:
pass# on mouserover may be draw different bitmap
if self._mouseDown:
pass # draw different image text
3
あなたは、例えば、次のように、デフォルトボタンのクラスを拡張することができます(ただし、それをテストしていない)
class RedButton(wx.Button):
def __init__(self, *a, **k):
wx.Button.__init__(self, *a, **k)
self.SetBackgroundColour('RED')
# more customization here
あなたのレイアウトにRedButton
を入れるたびに、それが赤く表示されます。
2
Generic ButtonまたはBitmap Buttonをお試しください。私は、カスタムウィジェットを作る方法を学びたいと思っ
5
(ボタンが含まれている)私は(そこにフル実施例)Andrea Gavana's pageを参照wxPyWikiとコーディPrecordのplatebutton上(ソースはwx.lib.platebtnであり、またhere SVNで) 。それらの両方を見ると、あなたが望むほとんどのカスタムウィジェットを構築できるはずです。
関連する問題
- 1. スタイルを使用せずにシルバーライトでカスタムボタンを作成する
- 2. iOSでカスタムボタンを作成する方法は?
- 3. SWTを使用してカスタムボタンを作成
- 4. iPhone - Foursquareのようなカスタムボタンを作成
- 5. Androidのパスに似たアニメーションのカスタムボタンを作成する方法
- 6. ASP.NET MVCでカスタムボタンを作成する(作成、読み取り、更新、削除のボタンではない)
- 7. カスタムボタンを作成するために必要な画像(png)を作成するのに最適なツール
- 8. JavaFX - イメージ付きのカスタムボタンを作成する
- 9. カスタムボタンでxmlレイアウトにアクセスするには
- 10. 再定義されたwxウィジェットを既に作成されたボックスサイザーに追加するには?
- 11. wxインポートエラー
- 12. wx pythonで複数のダイアログボックスを作成する方法と、それらを一度に閉じる方法
- 13. wxモジュールをPythonでインポートする
- 14. 左側のカスタムボタンを使用してツールバーを作成するにはどうすればよいですか?
- 15. Python WX - wxからユーザ入力を返すダイアログ
- 16. Xamarin.iOS:追加のオブジェクトを含むカスタムボタンを作成
- 17. enthought python distribution wx
- 18. CKeditor 3.xプラグイン - 新しいリンクを開くカスタムボタンを作成する
- 19. Erlang Wx:新しいウィジェットを追加するには
- 20. wxトップレベルのメニューバーイベント(Python)
- 21. カスタムボタン
- 22. バージョンv0.8.1のドロップダウンリストでSummernoteカスタムボタンを作成し、ボタンに属性を追加する方法
- 23. Pythonでピクセル属性を取得するにはTkまたはWx?
- 24. カスタムボタンを使って数字を推測するゲームを作る
- 25. gtk2hsとwxはもっと確実にビルドできますか?
- 26. Firefoxでカスタムボタンを作成すると、ボタン画像のサイズを変更できません。
- 27. html5のカスタムボタンでスライダバーボタンを変更する
- 28. カスタムボタンでアクションシートを解除する方法
- 29. カメラビューにカスタムボタンを表示する
- 30. WMDエディタにカスタムボタンを追加する
はこのためにどうもありがとうございます動作します!私はそれを広範囲に使用します! – Mizmor