1
我用wxPython 3.0.2.0發佈版測試wx.BoxSizer。wx.BoxSizer的位置按鈕
這就是我喜歡做的事:
我將創建包括4個按鈕面板的框架。
我想第一個按鈕位於屏幕的左上角,第二個,右上角,第三個左下角和第四個右下角。
我將下面的代碼提交給你。
你能告訴我它是否正確嗎?
預先感謝您。
# -*- coding: utf-8 -*-
import wx
class MyFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, parent = None, title="Test of BoxSizer")
vbox = wx.BoxSizer(wx.VERTICAL)
hbox=wx.BoxSizer(wx.HORIZONTAL)
hbox1=wx.BoxSizer(wx.HORIZONTAL)
self.panel=wx.Panel(self)
self.btn1=wx.Button(self.panel, label="Button 1")
self.btn2=wx.Button(self.panel, label="Button 2")
self.btn3=wx.Button(self.panel, label="Button 3")
self.btn4=wx.Button(self.panel, label="Button 4")
hbox.Add(self.btn1, proportion = 1, flag=wx.CENTER | wx.ALL, border=5)
hbox.Add((0,0), proportion=4, flag=wx.EXPAND)
hbox.Add(self.btn2, proportion = 1, flag=wx.CENTER | wx.ALL, border=5)
hbox1.Add(self.btn3, proportion = 1, flag=wx.CENTER | wx.ALL, border=5)
hbox1.Add((0,0), proportion=4, flag=wx.EXPAND)
hbox1.Add(self.btn4, proportion = 1, flag=wx.CENTER | wx.ALL, border=5)
vbox.Add(hbox, proportion = 1, flag=wx.CENTER | wx.ALL, border = 5)
#vbox.Add((0,0), proportion = 1, flag=wx.EXPAND)
vbox.Add(hbox1, proportion = 1, flag=wx.CENTER | wx.ALL, border = 5)
self.panel.SetSizer(vbox)
vbox.SetSizeHints(self)
self.Centre()
if __name__ == '__main__':
app = wx.App(redirect = False)
frame = MyFrame()
frame.Show(True)
app.MainLoop()
你可以這樣做,或者你可以從你的sizer調用'AddStretchSpacer'。另一種方法是使用GridSizer。 –