本文實(shí)例講述了Python wxPython庫Core組件BoxSizer用法。分享給大家供大家參考,具體如下:
wx.BoxSizer:
box = wx.BoxSizer(integer orient)
The orientation can be wx.VERTICAL or wx.HORIZONTAL
box.Add(wx.Window window, integer proportion=0, integer flag = 0, integer border = 0)
參數(shù)解讀:
1、proportion:
proportion參數(shù)定義了構(gòu)件在既定方向上所占空間的比例,是相對(duì)的,相對(duì)于其他組件
舉個(gè)例子:我們有三個(gè)按鈕,proportion的值分別是0,1,2。三個(gè)按鈕被放置到水平方向的sizer當(dāng)中,Button with proportion 0 will not change at all。但是, Button with proportion 2將會(huì)比the one with proportion 1大兩倍在水平位置上。
# -*- coding:utf-8 -*-import wxclass Border(wx.Frame): def __init__(self, parent, id, title): wx.Frame.__init__(self, parent, id, 'www.jb51.net - BoxSizer', size=(350, 200)) panel = wx.Panel(self, -1,size=(350,200)) panel.SetBackgroundColour('white') boxsizer1 = wx.BoxSizer(wx.VERTICAL) btn1 = wx.Button(panel, -1, 'Botton1') btn2 = wx.Button(panel, -1, 'Botton2') btn3 = wx.Button(panel, -1, 'Botton3') boxsizer1.Add(btn1, proportion=0, flag=wx.EXPAND, border=0) boxsizer1.Add(btn2, proportion=1, flag=wx.ALL, border=0) boxsizer1.Add(btn3, proportion=2, flag=wx.ALL, border=0) self.SetSizer(boxsizer1) self.Centre() self.Show(True)app = wx.App()Border(None, -1, '')app.MainLoop()
運(yùn)行結(jié)果:
通過這個(gè)例子可以觀察出proportion參數(shù)的作用
2、flag:
flag參數(shù)可以使用 '|'來產(chǎn)生組合的多個(gè)flags。
flag參數(shù)定義了兩個(gè)主要的行為:
第一個(gè)參數(shù)是窗口的邊框:這個(gè)參數(shù)決定了邊框的寬度,在此決定窗口某一側(cè)添加邊框的事件。
另一個(gè)參數(shù)決定了sizer事件的行為,當(dāng)sizer改變時(shí),空間的分配。并且分配的多少依賴于特定種類的sizer被使用。
3、border:設(shè)置邊界寬度
Determines the border width, if the flag parameter is set to include any border flag
最后特別說明:
flag和border參數(shù)兩者結(jié)合起來使用的。
vbox.Add(midPan, 1, wx.EXPAND | wx.ALL, 20)
flag=wx.EXPAND | wx.ALL,border=20---------這代表的是midPan這個(gè)組件將充分的利用空間,但是會(huì)從四周預(yù)留出來20px作為border。所以如果說使用了wx.EXPAND flag,而沒有設(shè)定border,那么我們的組件將充分的利用分配的空間。
最后,我們也能去定義調(diào)整我們的組件。但是這種調(diào)整是指在sizer分配給當(dāng)前構(gòu)件的空間之內(nèi)的一種調(diào)整。
We do it with the following flags :
wx.ALIGN_LEFT
wx.ALIGN_RIGHT
wx.ALIGN_TOP
wx.ALIGN_BOTTOM
wx.ALIGN_CENTER_VERTICAL
新聞熱點(diǎn)
疑難解答
圖片精選