如何在工具栏中隐藏元素?wxpython

1 投票
3 回答
1245 浏览
提问于 2025-04-17 09:07

在工具栏中隐藏一个元素(然后再显示出来)是否可行?

    toolbar = self.CreateToolBar()
    element = toolbar.AddLabelTool(wx.ID_ANY, 'Hi', wx.Bitmap('hello.png'))
    toolbar.Realize()

使用 element.Hide() 会报错,

谢谢大家的帮助

3 个回答

0

工具栏上的工具可以被移除,之后又可以再添加回来。可惜的是,我找不到一个简单的隐藏功能。

https://wxpython.org/Phoenix/docs/html/wx.ToolBar.html#wx.ToolBar.RemoveTool

1

你可以禁用这个工具:

toolbar = wx.ToolBar(self, -1, style=wx.TB_HORIZONTAL | wx.NO_BORDER)
toolbar.AddSimpleTool(1, wx.Image('stock_new.png', wx.BITMAP_TYPE_PNG).ConvertToBitmap(), 'New', '')
toolbar.EnableTool(1,False)

或者你也可以在需要的时候再插入这个工具。

2

我觉得wx.Toolbar这个工具栏不支持隐藏单独的项目。不过,FlatMenu好像可以做到这一点:http://www.wxpython.org/docs/api/wx.lib.agw.flatmenu-module.html 我建议你可以试试看这个。

撰写回答