[英]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,2,3,4) 是帶有 btn3(按鈕)的按鈕。
感謝您的提前。
我假設您希望btn3
按鈕位於其他按鈕右側的垂直線上。
有各種選項, GridSizer
和FlexGridSizer
GridSizer
在腦海中,但在您的代碼中,您已經引入了一個水平BoxSizer
但沒有使用它,所以下面的代碼將使用它。
加載垂直 boxsizer,然后將它們加載到水平 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()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.