国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python wxPython庫Core組件BoxSizer用法示例

2020-01-04 14:35:38
字體:
來源:轉載
供稿:網友

本文實例講述了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)

參數解讀:

1、proportion:

proportion參數定義了構件在既定方向上所占空間的比例,是相對的,相對于其他組件
舉個例子:我們有三個按鈕,proportion的值分別是0,1,2。三個按鈕被放置到水平方向的sizer當中,Button with proportion 0 will not change at all。但是, Button with proportion 2將會比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, 'm.survivalescaperooms.com - 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()

運行結果:

Python,wxPython庫,Core組件,BoxSizer

通過這個例子可以觀察出proportion參數的作用

2、flag:

flag參數可以使用 '|'來產生組合的多個flags。

flag參數定義了兩個主要的行為:

第一個參數是窗口的邊框:這個參數決定了邊框的寬度,在此決定窗口某一側添加邊框的事件。

另一個參數決定了sizer事件的行為,當sizer改變時,空間的分配。并且分配的多少依賴于特定種類的sizer被使用。

3、border:設置邊界寬度

Determines the border width, if the flag parameter is set to include any border flag

最后特別說明:

flag和border參數兩者結合起來使用的。

vbox.Add(midPan, 1, wx.EXPAND | wx.ALL, 20)

flag=wx.EXPAND | wx.ALL,border=20---------這代表的是midPan這個組件將充分的利用空間,但是會從四周預留出來20px作為border。所以如果說使用了wx.EXPAND flag,而沒有設定border,那么我們的組件將充分的利用分配的空間。

最后,我們也能去定義調整我們的組件。但是這種調整是指在sizer分配給當前構件的空間之內的一種調整。

We do it with the following flags :

wx.ALIGN_LEFT
wx.ALIGN_RIGHT
wx.ALIGN_TOP
wx.ALIGN_BOTTOM
wx.ALIGN_CENTER_VERTICAL
wx.ALIGN_CENTER_HORIZONTAL
wx.ALIGN_CENTER

看下面一個例子:

hbox5 = wx.BoxSizer(wx.HORIZONTAL)btn1 = wx.Button(panel, -1, 'Ok', size=(70, 30))hbox5.Add(btn1, 0)btn2 = wx.Button(panel, -1, 'Close', size=(70, 30))hbox5.Add(btn2, 0, wx.LEFT | wx.BOTTOM , 5)vbox.Add(hbox5, 0, wx.ALIGN_RIGHT | wx.RIGHT, 10)

這個例子將已有的hbox5放置到vbox當總,而wx.ALIGN_RIGHT所起到的作用就是在hbox5這個sizer當中的橫向往右放置的調整

下面是常用的flag參數:

1、These flags are used to specify which side(s) of the sizer item that the border width will apply to.

wx.TOP wx.BOTTOM wx.LEFT wx.RIGHT wx.ALL

2、The item will be expanded to fill the space allotted to the item.

wx.EXPAND

還有兩個沒有列出來,如果用到的話,可以查幫助文檔

最后,有些情況下我們需要添加一些空白的區域到我們的應用當中,可以使用下面的代碼:

vbox = wx.BoxSizer(wx.VERTICAL)vbox.Add((-1, 25))vbox.Add((-1, 25))---添加了25個像素的空白空間

希望本文所述對大家Python程序設計有所幫助。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德钦县| 巴马| 青河县| 五家渠市| 嵩明县| 青川县| 阿鲁科尔沁旗| 阜阳市| 电白县| 屏南县| 杨浦区| 镇沅| 苍溪县| 巴塘县| 佛冈县| 湖口县| 沧州市| 文化| 徐闻县| 通辽市| 阳江市| 吴桥县| 安丘市| 咸宁市| 喜德县| 南京市| 邯郸县| 北票市| 游戏| 台东县| 永靖县| 东乡族自治县| 建始县| 体育| 梁山县| 东方市| 乌苏市| 房山区| 阳春市| 金华市| 石家庄市|