G-7*_*-71 6 python user-interface wxwidgets wxpython
如何设置Vertical BoxSizer的差距?Vertival BoxSizer中的相似或替代方法SetVGap(在GridSizer中设置sizer中单元格之间的垂直间隙(以像素为单位))是什么?
Mik*_*oll 10
有几种方法可以在sizer中添加空格.
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(widget, proportion=0, style=wx.ALL, border=5)
Run Code Online (Sandbox Code Playgroud)
上面的代码将添加小部件,其四周都有一个5像素的边框.如果要在两个小部件之间放置一些空格,可以执行以下操作之一:
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(widget, proportion=0, style=wx.ALL, border=5)
sizer.AddSpacer(10)
# or sizer.Add((0,0))
sizer.Add(anotherWidget, proportion=0, style=wx.ALL, border=5)
Run Code Online (Sandbox Code Playgroud)
执行sizer.Add((0,0))的好处是,如果需要,可以将其添加为1(一)的比例,并将所有以下小部件推送到底部.我用它来给我一点控制小部件的位置.
另见http://www.wxpython.org/docs/api/wx.Sizer-class.html
我猜你的意思是一个垂直盒子大小,就像这样
wxBoxSizer * szr = new( wxVERTICAL );
Run Code Online (Sandbox Code Playgroud)
以下调用将添加10个像素的"垂直间隙"
szr->AddSpacer(10);
Run Code Online (Sandbox Code Playgroud)
在Python中,我想它看起来像这样
szr = wx.BoxSizer( wxVERTICAL )
... add stuff above gap
szr.AddSpacer(10)
... add stuff below gap
Run Code Online (Sandbox Code Playgroud)
wx.BoxSizers中没有gap参数(如您所说,GridSizers中是否有gap参数)。产生间隙的方法是在小部件中设置边框。这可以用风格来完成:wx.ALL,wx.BOTTOM和/或wx.TOP。
例如:
szr = wx.BoxSizer(wx.VERTICAL)
szr.Add(self.button_1, 0, wx.TOP|wx.BOTTOM|wx.ALIGN_CENTER_HORIZONTAL, 5)
Run Code Online (Sandbox Code Playgroud)
会在顶部和底部带有5点边框的框中添加居中的小部件(我的代码中为按钮)。
显示是否写:
vgap = 5
szr = wx.BoxSizer(wx.VERTICAL)
szr.Add(self.button_1, 0, wx.TOP, vgap)
szr.Add(self.button_2, 0, wx.TOP, vgap)
szr.Add(self.button_3, 0, wx.TOP, vgap)
Run Code Online (Sandbox Code Playgroud)
您将获得3个与您将要使用的按钮类似的间隙,SetVGap并且还可以通过设置vgap来控制插槽之间的间隔。
正如其他答案所表明的那样,您也可以在小部件之间插入分隔符以获得相同的效果,但是在我看来,这更干净(没有其他“ sizer.add”行),如果您想要的是与grid vgap等效的东西。
| 归档时间: |
|
| 查看次数: |
8896 次 |
| 最近记录: |