若干个wx.button
时间: 2023-07-23 17:14:05 浏览: 52
要创建多个wx.Button,可以使用wx.BoxSizer或wx.GridSizer来布局这些按钮。具体步骤如下:
1. 创建一个wx.Panel对象
```
panel = wx.Panel(parent)
```
2. 创建多个wx.Button对象
```
btn1 = wx.Button(panel, label="Button 1")
btn2 = wx.Button(panel, label="Button 2")
btn3 = wx.Button(panel, label="Button 3")
```
3. 创建一个wx.BoxSizer或wx.GridSizer对象
```
sizer = wx.BoxSizer(wx.VERTICAL) # 创建一个垂直的BoxSizer
# 或者
sizer = wx.GridSizer(rows=2, cols=2) # 创建一个2行2列的GridSizer
```
4. 将按钮添加到Sizer中
```
sizer.Add(btn1, proportion=1, flag=wx.EXPAND|wx.ALL, border=10)
sizer.Add(btn2, proportion=1, flag=wx.EXPAND|wx.ALL, border=10)
sizer.Add(btn3, proportion=1, flag=wx.EXPAND|wx.ALL, border=10)
```
在上面的代码中,我们使用Add方法将按钮添加到Sizer中。proportion参数指定了控件的拉伸比例,flag参数指定了控件的位置和对齐方式,border参数指定了控件和边框之间的距离。
5. 将Sizer设置为Panel的布局管理器
```
panel.SetSizer(sizer)
```
在上面的代码中,我们将Sizer设置为Panel的布局管理器,这样Sizer就会控制Panel中控件的位置和大小。
最后,我们需要将Panel添加到Frame中,并显示Frame:
```
frame = wx.Frame(None, title="My App")
frame.SetSize((400, 300))
frame.SetMinSize((400, 300))
frame.SetMaxSize((800, 600))
frame.SetBackgroundColour(wx.WHITE)
frame.Show()
app.MainLoop()
```