如何将两个工具条在同一行对齐,一个靠左一个靠右?
我在用wxPython设计一个Python程序的用户界面。我需要把两个工具栏放在同一行上,一个在左边,另一个在右边。
我使用BoxSizer来实现这个布局(通过在两个工具栏之间放一个可伸缩的空间)。
不过,这个可伸缩的空间在两个工具栏之间产生了一个空白区域,而且这个空白区域没有下划线,所以看起来很难看。(你可以参考这张图片来理解我的意思 http://i55.tinypic.com/2dlrvaa.jpg)。
这些下划线本来应该是连在一起的,这样看起来就像一个整体的工具栏。由于有了这个可伸缩的空间,它们看起来就分开了。
有没有什么办法可以解决这个问题?我想我可以要么去掉工具栏的下划线,要么给空白区域加上下划线。不过我不知道怎么做这两种方法。
这是我代码的一部分:
# Create the top toolbar container
topToolBar = wx.BoxSizer(wx.HORIZONTAL)
# Add 2 toolbars to this sizer, with stretchable space
# We add the same toolbar for testing purpose
topToolBar.Add(toolbar1,0,wx.ALIGN_LEFT,4) # add the toolbar to the sizer
topToolBar.AddStretchSpacer()
topToolBar.Add(toolbar1,0,wx.ALIGN_RIGHT ,4)
self.SetSizer(topToolBar)
1 个回答
4
我很久没用过wxPython了,不过你有没有试过去掉那个间隔,然后把第一个工具栏的比例设置得比第二个大呢?比如说:
topToolBar.Add(toolbar1,1,wx.ALIGN_LEFT,4) # note the 2nd param 'proportion' is 1
#topToolBar.AddStretchSpacer()
topToolBar.Add(toolbar1,0,wx.ALIGN_RIGHT,4)
这样做的目的是让第一个工具栏能够扩展,填满可用的空间。