如何在同一行上对齐2个工具栏,一个对齐左边,一个对齐右边?

时间:2010-09-20 06:02:56

标签: python interface wxpython toolbar alignment

我使用wxPython为python程序勾画出一个用户界面。我需要在同一行放置2个工具栏。一个工具栏在左侧,而另一个在右侧。

我使用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 个答案:

答案 0 :(得分: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)

这个想法是第一个工具栏扩展以填充可用空间。