2014-05-23 1 views
1

나는 비트 맵 버튼을 클릭하여 시뮬레이션하려고합니다. 코드는 당신이 뭔가에 관한와 PostEventself를 교체해야합니다 (wxPython에에서 가장 흔한 경우가해야하는) 동일한 스레드에있는 가정wxpython 시뮬레이션 비트 맵 버튼 클릭

self.buttonImage = wx.Bitmap(button_image, wx.BITMAP_TYPE_PNG) 
self.button = wx.BitmapButton(self, -1, self.buttonImage, pos=(100, 300), style = wx.NO_BORDER) 

evt = wx.PyCommandEvent(wx.EVT_BUTTON.typeId, self.button.GetId()) 
wx.PostEvent(self, evt) 

답변

1

A matching answer has been given already in another post. ... 오류가 발생하지 않습니다 아무것도하지 않습니다 단추. 물론 이벤트를 비트 맵 단추에 바인딩하지 않았기 때문에 게시 된 이벤트는 아무 것도 발생하지 않습니다.

# button creation 
self.button = wx.BitmapButton(pnl, -1, self.buttonImage, pos=(100, 300), style=wx.NO_BORDER) 
# Bind an event 
self.button.Bind(wx.EVT_BUTTON, self.on_btn) 

# GUI test code 
testbtn = frm.button # the button to be tested 
evt = wx.PyCommandEvent(wx.EVT_BUTTON.typeId, testbtn.GetId()) 
wx.PostEvent(testbtn, evt) # try frm instead of testbtn and it will not work