试图修复按钮的位置
Trying to fix the position of Buttons
我正在尝试将顶部按钮的位置从左更改为右。
下面是代码:
import wx
class Example(wx.Frame):
def __init__(self, parent, title):
super(Example, self).__init__(parent, title = title, size = (200,300))
self.InitUI()
self.Centre()
self.Show()
def InitUI(self):
p = wx.Panel(self)
vbox = wx.BoxSizer(wx.VERTICAL)
for label in range(8):
b2 = wx.Button(p, label =str(label))
vbox.Add(b2,0,wx.VERTICAL)
hbox = wx.BoxSizer(wx.HORIZONTAL)
for label in range(8):
b3 = wx.Button(p, label = "Btn3")
vbox.Add(b3,0,wx.RIGHT)
hbox = wx.BoxSizer(wx.HORIZONTAL)
p.SetSizer(vbox)
app = wx.App()
Example(None, title = 'BoxSizer demo')
app.MainLoop()
输出显示如下:
但我希望 btn3 像这样在右侧
- 1 btn3
- 2 btn3
- 3 btn3
- 4 btn3
这里(1,2,3,4)是带有btn3(按钮)的按钮。
感谢提前。
我假设您希望 btn3
按钮位于其他按钮右侧的垂直线上。
有多种选择,GridSizer
和 FlexGridSizer
spring 需要注意,但在您的代码中您已经引入了水平 BoxSizer
但未使用它,因此下面的代码将使用它.
加载垂直 boxsizers,然后将它们加载到水平 sizer。
import wx
class Example(wx.Frame):
def __init__(self, parent, title):
super(Example, self).__init__(parent, title = title, size = (200,300))
self.InitUI()
self.Centre()
self.Show()
def InitUI(self):
p = wx.Panel(self)
vbox1 = wx.BoxSizer(wx.VERTICAL)
vbox2 = wx.BoxSizer(wx.VERTICAL)
hbox = wx.BoxSizer(wx.HORIZONTAL)
for label in range(8):
b2 = wx.Button(p, label =str(label))
vbox1.Add(b2,0,0)
for label in range(8):
b3 = wx.Button(p, label = "Btn3")
vbox2.Add(b3,0,0)
hbox.Add(vbox1)
hbox.Add(vbox2)
p.SetSizer(hbox)
app = wx.App()
Example(None, title = 'BoxSizer demo')
app.MainLoop()
我正在尝试将顶部按钮的位置从左更改为右。
下面是代码:
import wx
class Example(wx.Frame):
def __init__(self, parent, title):
super(Example, self).__init__(parent, title = title, size = (200,300))
self.InitUI()
self.Centre()
self.Show()
def InitUI(self):
p = wx.Panel(self)
vbox = wx.BoxSizer(wx.VERTICAL)
for label in range(8):
b2 = wx.Button(p, label =str(label))
vbox.Add(b2,0,wx.VERTICAL)
hbox = wx.BoxSizer(wx.HORIZONTAL)
for label in range(8):
b3 = wx.Button(p, label = "Btn3")
vbox.Add(b3,0,wx.RIGHT)
hbox = wx.BoxSizer(wx.HORIZONTAL)
p.SetSizer(vbox)
app = wx.App()
Example(None, title = 'BoxSizer demo')
app.MainLoop()
输出显示如下:
但我希望 btn3 像这样在右侧
- 1 btn3
- 2 btn3
- 3 btn3
- 4 btn3
这里(1,2,3,4)是带有btn3(按钮)的按钮。
感谢提前。
我假设您希望 btn3
按钮位于其他按钮右侧的垂直线上。
有多种选择,GridSizer
和 FlexGridSizer
spring 需要注意,但在您的代码中您已经引入了水平 BoxSizer
但未使用它,因此下面的代码将使用它.
加载垂直 boxsizers,然后将它们加载到水平 sizer。
import wx
class Example(wx.Frame):
def __init__(self, parent, title):
super(Example, self).__init__(parent, title = title, size = (200,300))
self.InitUI()
self.Centre()
self.Show()
def InitUI(self):
p = wx.Panel(self)
vbox1 = wx.BoxSizer(wx.VERTICAL)
vbox2 = wx.BoxSizer(wx.VERTICAL)
hbox = wx.BoxSizer(wx.HORIZONTAL)
for label in range(8):
b2 = wx.Button(p, label =str(label))
vbox1.Add(b2,0,0)
for label in range(8):
b3 = wx.Button(p, label = "Btn3")
vbox2.Add(b3,0,0)
hbox.Add(vbox1)
hbox.Add(vbox2)
p.SetSizer(hbox)
app = wx.App()
Example(None, title = 'BoxSizer demo')
app.MainLoop()