首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用wxPython的BoxSizer指定比例

如何使用wxPython的BoxSizer指定比例
EN

Stack Overflow用户
提问于 2021-04-22 08:10:39
回答 1查看 199关注 0票数 1

我想要创建一个布局,其中一个wxPanel占用2/3s的窗口,另一个占用1/3的窗口。我知道如何使他们50/50,或如何指定最小和最大的大小。但是,是否有一种方法来具体说明可利用空间的比例?

代码语言:javascript
复制
import wx

eng = wx.App()
frame = wx.Frame(parent=None, title='wxPython')

main_panel = wx.Panel(frame)
main_panel.SetBackgroundColour(wx.Colour(255,0,0))
main_sizer = wx.BoxSizer(wx.HORIZONTAL)
main_panel.SetSizer(main_sizer)

left_panel = wx.Panel(main_panel)
left_panel.SetBackgroundColour(wx.Colour(0,255,0))
main_sizer.Add(left_panel, 1, wx.ALL | wx.EXPAND, 0)

right_panel = wx.Panel(main_panel)
right_panel.SetBackgroundColour(wx.Colour(0,0,255))
main_sizer.Add(right_panel, 1, wx.ALL | wx.EXPAND, 0)

frame.Show()
frame.CenterOnScreen()

eng.MainLoop()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-22 08:59:24

proportion参数到sizer将为您控制这一点。

proportion值更改为一个sizer条目为2,它将使sizer为该条目分配两倍的空间。

这个比例定义了测试者的孩子之间的关系有多大。在垂直测量器中,这会改变高度;在水平测量器中,这会改变宽度。

在这里,右边的小组已经被修改了。

代码语言:javascript
复制
import wx

eng = wx.App()
frame = wx.Frame(parent=None, title='wxPython')

main_panel = wx.Panel(frame)
main_panel.SetBackgroundColour(wx.Colour(255,0,0))
main_sizer = wx.BoxSizer(wx.HORIZONTAL)
main_panel.SetSizer(main_sizer)

left_panel = wx.Panel(main_panel)
left_panel.SetBackgroundColour(wx.Colour(0,255,0))
main_sizer.Add(left_panel, 1, wx.ALL | wx.EXPAND, 0)

right_panel = wx.Panel(main_panel)
right_panel.SetBackgroundColour(wx.Colour(0,0,255))
main_sizer.Add(right_panel, 2, wx.ALL | wx.EXPAND, 0)

frame.Show()
frame.CenterOnScreen()

eng.MainLoop()
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67209281

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档