Wxpython控件自适应窗口大小GridBagSizer

2023-05-16

使用wx.GridBagSizer()使控件能随着用户缩放窗口大小而自动调整,wx.GridBagSizer()把空间用横线和竖线划分成一个个格子,用控价填充这些格子,从而自由的控制布局
原来的布局代码:

# 创建水平方向box布局管理器
hbox = wx.BoxSizer()
hbox.Add(vsbox_button, 0, wx.EXPAND | wx.BOTTOM, 5)
hbox.Add(self.vsbox_show_operation, 0, wx.EXPAND | wx.BOTTOM, 5)
# 将hbox添加到垂直box
self.vbox.Add(hbox, proportion=0, flag=wx.CENTER)
self.pnl.SetSizer(self.sizer)

使用wx.GridBagSizer()使其尺寸自适应:

self.sizer = wx.GridBagSizer(1, 1)
self.sizer.Add(vsbox_button, (0, 0),(1,0),wx.EXPAND)
self.sizer.Add(self.vsbox_show_operation, (0, 1),(1,1),wx.EXPAND)
self.sizer.AddGrowableRow(0) #使第一行自适应
self.sizer.AddGrowableCol(1) #使第二列自适应

self.sizer.Add(vsbox_button, (0, 0),(1,0),wx.EXPAND)中第一个参数是放的控件,第二个是摆放起始位置,第三个是占的格子((1,1)就是每个方向占了一个格子)
AddGrowableRow()AddGrowableCol()是指定行和列自适应。这里因为可以看做是一行两列的排布,因此让vsbox_button不在横向变形,仅在竖方向变形;vsbox_show_operation在两个方向自由变形,就是这样设置。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Wxpython控件自适应窗口大小GridBagSizer 的相关文章

随机推荐