欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python wxPython庫Core組件BoxSizer用法示例

 更新時間:2018年09月03日 10:41:50   作者:烈風(fēng)  
這篇文章主要介紹了Python wxPython庫Core組件BoxSizer用法,結(jié)合實(shí)例形式分析了wxPython BoxSizer布局管理相關(guān)使用方法及操作注意事項(xiàng),需要的朋友可以參考下

本文實(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)件在既定方向上所占空間的比例,是相對的,相對于其他組件
舉個例子:我們有三個按鈕,proportion的值分別是0,1,2。三個按鈕被放置到水平方向的sizer當(dāng)中,Button with proportion 0 will not change at all。但是, Button with proportion 2將會比the one with proportion 1大兩倍在水平位置上。

# -*- coding:utf-8 -*-
import wx
class Border(wx.Frame):
  def __init__(self, parent, id, title):
    wx.Frame.__init__(self, parent, id, 'www.dbjr.com.cn - 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é)果:

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

2、flag:

flag參數(shù)可以使用 '|'來產(chǎn)生組合的多個flags。

flag參數(shù)定義了兩個主要的行為:

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

另一個參數(shù)決定了sizer事件的行為,當(dāng)sizer改變時,空間的分配。并且分配的多少依賴于特定種類的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這個組件將充分的利用空間,但是會從四周預(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
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當(dāng)總,而wx.ALIGN_RIGHT所起到的作用就是在hbox5這個sizer當(dāng)中的橫向往右放置的調(diào)整

下面是常用的flag參數(shù):

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

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

最后,有些情況下我們需要添加一些空白的區(qū)域到我們的應(yīng)用當(dāng)中,可以使用下面的代碼:

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

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論