利用python创建窗口-布局管理器(五)

来源:互联网 发布:unity3d放大缩小 编辑:程序博客网 时间:2024/06/03 20:14

下面的程序是对之前的创建的窗口进行进一步改进,即利用布局管理器对窗口进行自动的管理。

在这里,Panel用于创建画布,BoxSizer用于创建管理器,wx.EXPAND表示可以拓展,border表示边界,proportion表示比例,

VERTICAL表示垂直方向布置,LEFT表示左对齐。

代码如下:

#coding:utf8#利用布局管理器,管理窗口import wx                                 app = wx.App()win = wx.Frame(None, title = "ahuang1900", size = (410,340)) #创建根窗口bkg = wx.Panel(win)  #创建画布#基于画布来创建主件,这样主件可以置于画布上了openbutton = wx.Button(bkg, label = "open") #创建主件1savebutton = wx.Button(bkg, label = "save") #创建主件2filename = wx.TextCtrl(bkg) #创建主件3contents = wx.TextCtrl(bkg, style = wx.TE_MULTILINE | wx.HSCROLL) #创建主件4hbox = wx.BoxSizer()    #创建尺寸器1,作用是管理添加在其中的组件布局的位置#下面是把已经创建好的主件以一定的方式添加到布局管理器1中hbox.Add(filename, proportion = 1, flag = wx.EXPAND)hbox.Add(openbutton, proportion = 0, flag = wx.LEFT, border = 5                )hbox.Add(savebutton, proportion = 0, flag = wx.LEFT, border = 5)bbox = wx.BoxSizer(wx.VERTICAL) #创建尺寸器2(布局管理器)#下面是把已经创建好的主件和尺寸器1以一定的方式添加到尺寸器2中bbox.Add(hbox, proportion = 0, flag = wx.EXPAND | wx.ALL, border = 5)bbox.Add(contents, proportion = 1, flag = wx.EXPAND | wx.LEFT | wx.BOTTOM | wx.RIGHT         , border = 5)bkg.SetSizer(bbox) #把尺寸器,放置在画布中(自动设置大小)win.Show()app.MainLoop()

运行结果:


0 0