如何去掉工具栏下方的1px边框?

2 投票
2 回答
855 浏览
提问于 2025-04-16 04:23

我有一个工具栏,它就在一个滑块旁边(截图:http://i54.tinypic.com/w2n6ag.jpg),但是wxPython自动在[播放/暂停/停止 | 上一曲/下一曲]按钮下面加了一个1像素的小边框。

这个看起来一点都不好,所以有没有办法把它去掉或者设置成0像素呢?非常感谢。

这是我代码的一部分

    toolbar = wx.ToolBar(self, wx.ID_ANY, style=wx.TB_HORIZONTAL | wx.NO_BORDER | wx.TB_FLAT)
    toolbar.SetToolBitmapSize((24, 24))

    toolbar.AddRadioLabelTool(wx.ID_ANY, '', wx.Bitmap('icons/buttons/control_play.png'), shortHelp='Play', longHelp='')
    toolbar.AddRadioLabelTool(wx.ID_ANY, '', wx.Bitmap('icons/buttons/control_pause.png'), shortHelp='Pause', longHelp='')
    toolbar.AddRadioLabelTool(wx.ID_ANY, '', wx.Bitmap('icons/buttons/control_stop.png'), shortHelp='Stop', longHelp='')
    toolbar.AddSeparator()
    toolbar.AddLabelTool(wx.ID_ANY, '', wx.Bitmap('icons/buttons/frame_previous.png'), shortHelp='Previous', longHelp='')
    toolbar.AddLabelTool(wx.ID_ANY, '', wx.Bitmap('icons/buttons/frame_next.png'), shortHelp='Next', longHelp='')


    toolbar.Realize()

补充说明:垂直工具栏(也就是wx.TB_VERTICAL)没有这个底部边框,所以一个临时的解决办法是把5个垂直工具栏并排放在一起(每个工具栏上有一个按钮),但我想可能还有其他解决办法?

2 个回答

1

我之前不知道工具栏会添加线条。这可能是和平台有关,如果真是这样,那就很正常。我想到的最简单的解决办法就是用一个水平的 BoxSizer,把你所有的控件放在里面。

4

如果有其他人也遇到同样的问题,可以试试在你的样式中加上 wx.TB_NODIVIDER,比如:

style=wx.TB_HORIZONTAL | wx.NO_BORDER | wx.TB_FLAT | wx.TB_NODIVIDER

这样做的话,在我的XP系统上就去掉了那个难看的线条。

撰写回答