BoxSizer如何在Python中使用-創(chuàng)新互聯(lián)

這篇文章給大家介紹BoxSizer如何在Python中使用,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

創(chuàng)新互聯(lián)2013年至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元懷柔做網(wǎng)站,已為上家服務(wù),為懷柔各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220

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)件在既定方向上所占空間的比例,是相對的,相對于其他組件
舉個(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, '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é)果:

BoxSizer如何在Python中使用

通過這個(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
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è)沒有列出來,如果用到的話,可以查幫助文檔

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

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

關(guān)于BoxSizer如何在Python中使用就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

文章名稱:BoxSizer如何在Python中使用-創(chuàng)新互聯(lián)
網(wǎng)頁路徑:http://muchs.cn/article44/hejhe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、小程序開發(fā)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站排名靜態(tài)網(wǎng)站、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)