Panel是窗口的容器,通常其大小与Frame一样,在其上放置各种控件,这样可将窗口内容与工具栏及状态栏区分开,能过TAB键可遍历Panel中的元素
小构件,如按钮,文本框等被放置在面板窗口。 wx.Panel类通常是被放在一个wxFrame对象中。这个类也继承自wxWindow类。
虽然控件可以手动放置在面板指定屏幕坐标的位置,建议使用合适的布局方案,称为大小测定器(sizer)在wxPython中,为更好地控制布局和解决调整大小的问题。
在wxPanel构造,父参数是wx.Frame对象,在面板中放置。id参数的默认值是wx.ID_ANY,而默认的样式参数是wxTAB_TRAVERSAL。
wxPython的API具有以下大小测定器(sizers),使用该控件被添加到面板对象 -
S.N. | Sizers & 描述 |
---|---|
1 | wx.BoxSizer 窗口小部件布置成垂直或水平框 |
2 | wx.StaticBoxSizer 添加staticbox围绕测定器(sizer) |
3 | wx.GridSizer 每个单元增加一个控件在网格的大小相等的单元 |
4 | wx.FlexGridSizer 控件加入单元网格可以占据多个单元格 |
5 | wx.GridBagSizer 对照明确地定位在网格和横跨多个行和/或列 |
Sizer对象为使用wxPanel类的SetSizer ()方法在面板的布局管理器应用。
wx.Panel.SetSizer(wx.???Sizer())
面板对象按顺序添加到顶层帧(frame)。
#创建面板
panel = wx.Panel(self) #在Panel上添加Button
button = wx.Button(panel, label = u'关闭', pos = (, ), size = (, )) #绑定单击事件
self.Bind(wx.EVT_BUTTON, self.OnCloseMe, button)