誰かがwxPythonウィジェットサブクラスとsuper()を使用することの違い/利点を説明できますか?境界線の長方形を囲まずにトグルボタンを作成しようとしていますが、wx.lib.statbmpモジュールのGenStaticBitmapを基本クラスとして使用したいと思います。
3つのビットマップをサブクラスに渡そうとしていますが、どちらのアプローチも機能させることができませんでした。サブクラスを作成して引数を渡す方法や、superを使用してクラスを作成する方法がわかりません。
(作成するボタンが30以上あるため、コントロールをサブクラス化しようとしています)
コードは、GenStaticBitmapとしてパネルに配置されたときに機能します。ヘルプやアドバイスをありがとうございます。
これは私が試したことです:
class MyBitmapButton(gen_statbmp.GenStaticBitmap):
""" This is the subclassed version of the GenStaticBitmap to allow embedding bitmaps in the button"""
def __init__(self, parent, off_bmp,on_bmp,hover_bmp):
gen_statbmp.GenStaticBitmap.__init__(parent,id,off_bmp)
self.bmapoff = off_bmp
self.bmapon = on_bmp
self.bmaphover= over_bmp
self.state='off'
def On_Hover(self,event):
self.SetBitmap(self.bmphover)
print 'on hover button state is',self.state
def On_Leave(self,event):
#print 'on enter button state is',self.state
if self.state=='on':
print self.state
self.SetBitmap(self.bmapon)
self.state='on'
if self.state=='off':
self.SetBitmap(self.bmapoff)
self.state='off'
print 'on leave button state is',self.state
def On_Click(self,event):
#print 'on enter button state is',self.state
if self.state=='on':
print self.bmapbtn.state
self.SetBitmap(self.bmapoff)
self.state='off'
elif self.state=='off':
self.SetBitmap(self.bmapon)
self.state='on'
print 'on leave button state is',self.state