亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python wxPython庫(kù)Core組件BoxSizer用法示例

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

本文實(shí)例講述了Python wxPython庫(kù)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 wx
class Border(wx.Frame):
  def __init__(self, parent, id, title):
    wx.Frame.__init__(self, parent, id, 'chabaoo.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é)果:

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

2、flag:

flag參數(shù)可以使用 '|'來(lái)產(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

最后特別說(shuō)明:

flag和border參數(shù)兩者結(jié)合起來(lái)使用的。

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

flag=wx.EXPAND | wx.ALL,border=20---------這代表的是midPan這個(gè)組件將充分的利用空間,但是會(huì)從四周預(yù)留出來(lái)20px作為border。所以如果說(shuō)使用了wx.EXPAND flag,而沒(méi)有設(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

看下面一個(gè)例子:

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)

這個(gè)例子將已有的hbox5放置到vbox當(dāng)總,而wx.ALIGN_RIGHT所起到的作用就是在hbox5這個(gè)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

還有兩個(gè)沒(méi)有列出來(lái),如果用到的話,可以查幫助文檔

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

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

更多關(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文件與目錄操作技巧匯總

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

相關(guān)文章

最新評(píng)論