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。 –