首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >标识由wxformbuilder创建的wx.BitmapButton

标识由wxformbuilder创建的wx.BitmapButton
EN

Stack Overflow用户
提问于 2015-07-14 20:11:46
回答 1查看 127关注 0票数 1

我有一个小小的蟒蛇问题。我使用wxformbuilder创建了一个图形用户界面。在此GUI中,有多个位图按钮。它们都绑定到相同的函数。

在我的主程序中,我想根据它们的名称将它们分开。显然,我的GetEventObject()不能在这里工作。

我可以手动编辑自动化的GUI代码,但我不喜欢这样做。有没有什么函数可以用来检索图形用户界面文件中的btn_forwardleft名称?

在我的自动生成的gui.py中

代码语言:javascript
复制
    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程序中

代码语言:javascript
复制
def OnArrowButtonPress(self,event):
    keyname = event.GetEventObject()
  # print keyname
    timeoutflag = False
    if(keyname=='btn_forwardleft'):
        command = 10
    elif(keyname=='btn_forwardright'):
        command = 20
EN

回答 1

Stack Overflow用户

发布于 2015-09-05 17:09:05

GetEventObject()返回指针,可以这样与self.anything进行比较

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31406238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档