📌  相关文章
📜  wxPython – wx.ToolBar 中的 SetToolNormalBitmap()函数(1)

📅  最后修改于: 2023-12-03 15:35:45.919000             🧑  作者: Mango

wxPython – wx.ToolBar 中的 SetToolNormalBitmap()函数

简介

在 wxPython 的 wx.ToolBar 控件中,SetToolNormalBitmap() 函数可以设置某个工具栏按钮的普通状态下的位图图像。

函数原型
def SetToolNormalBitmap(self, toolId, bmp):
参数说明
  • toolId:工具栏按钮的ID号
  • bmp:要设置的普通状态下的位图图像
返回值

该函数没有返回值。

示例
import wx
 
class MyFrame(wx.Frame):
 
    def __init__(self, parent, id):
        wx.Frame.__init__(self, parent, id, 'wxPython ToolBar 示例程序', size=(500, 350))
        panel = wx.Panel(self)
        toolbar = self.CreateToolBar()
 
        ttool = toolbar.AddLabelTool(wx.ID_ANY, '', wx.Bitmap('new.bmp'))
        ttool2 = toolbar.AddLabelTool(wx.ID_ANY, '', wx.Bitmap('copy.bmp'))
        toolbar.Realize()
 
        self.Bind(wx.EVT_TOOL, self.OnNew, ttool)
        self.Bind(wx.EVT_TOOL, self.OnCopy, ttool2)
 
    def OnNew(self, event):
        print('你点击了New工具按钮')
 
    def OnCopy(self, event):
        print('你点击了Copy工具按钮')
        
        # 设置工具按钮的普通状态下的位图图像
        event.GetEventObject().SetToolNormalBitmap(event.GetId(), wx.Bitmap('cut.bmp'))
          
if __name__ == '__main__':
    app = wx.App()
    frame = MyFrame(parent=None, id=-1)
    frame.Show()
    app.MainLoop()
示例说明

上述代码中,我们创建了一个 wx.ToolBar 控件,其中添加了两个工具栏按钮。在 OnCopy() 函数中,我们通过 GetEventObject() 函数获取了当前被点击的工具栏按钮,然后用 SetToolNormalBitmap 函数将该按钮的普通状态下的位图图像改为了 cut.bmp。当我们再次点击该按钮时,它的位图图像就会被改为 cut.bmp。