【问题标题】:How to align 2 toolbars on same the row, one aligned left and one aligned right?如何在同一行上对齐 2 个工具栏,一个左对齐,一个右对齐?
【发布时间】:2011-04-14 12:30:57
【问题描述】:

我使用 wxPython 为 python 程序绘制用户界面。我需要将 2 个工具栏放在同一行。一个工具栏在左边,另一个在右边。

我使用 BoxSizer 来实现这一点(通过在 2 个工具栏之间放置一个可拉伸的空间)

但是,可拉伸空间会在 2 个工具栏之间产生一个空白区域,并且该空间没有下划线,因此看起来很难看。 (请优先看这张图了解我的意思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)    

【问题讨论】:

  • 你使用的是什么版本的 wxWidgets?

标签: python interface wxpython toolbar alignment


【解决方案1】:

我使用 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)

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

【讨论】:

  • 非常感谢,这就是诀窍(我已经坚持了 4 小时):D(我也不知道是什么版本,2.8 什么的,我只是勾选并安装了 wxpython来自 ubuntu 9.04 存储库)
猜你喜欢
  • 1970-01-01
  • 2021-08-25
  • 2014-05-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-21
  • 2011-11-09
相关资源
最近更新 更多