识别wx.bitmap按钮由wxformbuild创建

2024-10-01 15:28:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我有个小问题。我使用wxformbuilder创建了一个GUI。在这个GUI中,有多个位图按钮。它们都绑定到同一个函数。你知道吗

在我的主程序中,我想根据它们的名称将它们分开。显然我的GetEventObject()在这里不起作用。你知道吗

我可以手动编辑自动GUI代码,但我不喜欢这样做。有什么函数可以用来从GUI文件中检索btn_forwardleft名称吗?你知道吗

在我的自动生成图形用户界面.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 )

在我的心里主.py程序

def OnArrowButtonPress(self,event):
    keyname = event.GetEventObject()
  # print keyname
    timeoutflag = False
    if(keyname=='btn_forwardleft'):
        command = 10
    elif(keyname=='btn_forwardright'):
        command = 20

Tags: 函数selfpngtypeanyguibuttonwx
0条回答
网友
1楼 · 发布于 2024-10-01 15:28:19

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

相关问题 更多 >

    热门问题