中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

BoxSizer如何在Python中使用

發布時間:2021-04-02 17:38:09 來源:億速云 閱讀:411 作者:Leah 欄目:開發技術

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

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 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()

運行結果:

BoxSizer如何在Python中使用

通過這個例子可以觀察出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個像素的空白空間

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

侯马市| 阳谷县| 淮滨县| 上蔡县| 焉耆| 青海省| 河曲县| 宁安市| 溧水县| 阳泉市| 电白县| 龙胜| 德保县| 唐海县| 区。| 伊春市| 虞城县| 晋宁县| 宁夏| 米脂县| 礼泉县| 临澧县| 米林县| 尼玛县| 贵南县| 文化| 城口县| 临夏县| 汉中市| 武汉市| 西丰县| 大厂| 庆城县| 津市市| 沁水县| 嘉义市| 洪江市| 汾阳市| 玉龙| 来安县| 双柏县|