Wxpython wxWidgets的间距/空边框

Wxpython wxWidgets的间距/空边框,wxpython,wxwidgets,Wxpython,Wxwidgets,使用wxWidgets/wxPython,您是否可以在窗口边缘或组件之间添加空间?我想要一些东西来防止组件被挤压到窗口边框上或彼此之间,类似于JavaSwing的EmptyByOrder或Insets。(我知道你可以用一些尺寸器设置水平/垂直间隙,但我想要更灵活的。)wxWidgets提供的尺寸器非常灵活。你确定你已经探索了他们的所有能力吗?很难想象你可能需要什么,他们无法处理。请准确描述你需要什么,并张贴你迄今为止尝试过的代码 以下是一个例子: sizer->Add(new wxButt

使用wxWidgets/wxPython,您是否可以在窗口边缘或组件之间添加空间?我想要一些东西来防止组件被挤压到窗口边框上或彼此之间,类似于JavaSwing的EmptyByOrder或Insets。(我知道你可以用一些尺寸器设置水平/垂直间隙,但我想要更灵活的。)

wxWidgets提供的尺寸器非常灵活。你确定你已经探索了他们的所有能力吗?很难想象你可能需要什么,他们无法处理。请准确描述你需要什么,并张贴你迄今为止尝试过的代码

以下是一个例子:

sizer->Add(new wxButton(this, -1, "Button with 20 pixel border all round"),
      0,  wxALL, 20);
下面是更多sizer选项的演示

如果您真的无法使用sizer来实现所需的功能,那么您可以通过将位置传递给小部件构造函数,将每个小部件显式定位到您想要的任何位置

wxPoint button_position( 50,50 );   // position button 50 pixel down and to right of top left
new wxButton(this, -1, "Button", button_position )

请参见Sizer的Add方法中的border参数。您可以使用flag参数告诉它边框的放置位置,例如wx.ALL、wx.RIGHT、wx.LEFT、wx.TOP等

这可以用来在小部件周围和小部件之间留出空间。有时,您可能希望使用sizer的AddSpacer来添加空间。或者你可以这样做:

mySizer.Add((20, 100))
它的作用是在y轴上的两个小部件之间放置100个像素。你可能需要玩一点才能得到你想要的方式


另请参见或

Oops,我想我应该更仔细地阅读API文档(或教程)。我仍然希望有一种方法可以为对象的每一侧指定不同的间距,而不必使用单独的间隔符。