我有一个小蟒蛇问题。我使用wxformbuilder
创建了一个GUI。在此GUI中,有多个位图按钮。它们都绑定到相同的功能。
在我的主程序中,我想根据他们的名字将它们分开。显然我的GetEventObject()
在这里工作不起作用。
我可以手动编辑自动GUI代码,但我不想这样做。我可以使用任何函数来检索GUI文件中的btn_forwardleft
名称吗?
在我自动生成的gui.py
中 self.btn_forwardleft = wx.BitmapButton( self, wx.ID_ANY, wx.Bitmap( u"button_upleft.png", wx.BITMAP_TYPE_ANY ), wx.DefaultPosition, wx.DefaultSize, wx.BU_AUTODRAW )
self.btn_forwardleft.SetBitmapSelected( wx.Bitmap( u"button_upleft_p.png", wx.BITMAP_TYPE_ANY ) )
self.btn_forwardright = wx.BitmapButton( self, wx.ID_ANY, wx.Bitmap( u"button_upright.png", wx.BITMAP_TYPE_ANY ), wx.DefaultPosition, wx.DefaultSize, wx.BU_AUTODRAW )
self.btn_forwardright.SetBitmapSelected( wx.Bitmap( u"button_upright_p.png", wx.BITMAP_TYPE_ANY ) )
self.btn_forwardleft.Bind( wx.EVT_BUTTON, self.OnArrowButtonPress )
self.btn_forwardright.Bind( wx.EVT_BUTTON, self.OnArrowButtonPress )
和我的main.py程序
def OnArrowButtonPress(self,event):
keyname = event.GetEventObject()
# print keyname
timeoutflag = False
if(keyname=='btn_forwardleft'):
command = 10
elif(keyname=='btn_forwardright'):
command = 20
答案 0 :(得分:0)
GetEventObject()
返回指针,可以与self.anything
进行比较
def OnArrowButtonPress(self,event):
keyname = event.GetEventObject()
# print keyname
timeoutflag = False
if(keyname==self.btn_forwardleft):
command = 10
elif(keyname==self.btn_forwardright):
command = 20