Python wxPython庫Core組件BoxSizer用法示例
本文實(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)件在既定方向上所占空間的比例,是相對的,相對于其他組件
舉個(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.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é)果:
通過這個(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)于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ì)有所幫助。
- python-地圖可視化組件folium的操作
- Python QT組件庫qtwidgets的使用
- wxPython窗體拆分布局基礎(chǔ)組件
- wxPython實(shí)現(xiàn)文本框基礎(chǔ)組件
- python tkinter組件使用詳解
- python tkinter組件擺放方式詳解
- 對Python中TKinter模塊中的Label組件實(shí)例詳解
- Python:Scrapy框架中Item Pipeline組件使用詳解
- Python調(diào)用C# Com dll組件實(shí)戰(zhàn)教程
- Python MySQL數(shù)據(jù)庫連接池組件pymysqlpool詳解
- 使用Python的Django框架中的壓縮組件Django Compressor
- 零基礎(chǔ)寫python爬蟲之使用urllib2組件抓取網(wǎng)頁內(nèi)容
- python drf各類組件的用法和作用
相關(guān)文章
python下paramiko模塊實(shí)現(xiàn)ssh連接登錄Linux服務(wù)器
這篇文章主要介紹了python下paramiko模塊實(shí)現(xiàn)ssh連接登錄Linux服務(wù)器的方法,實(shí)例分析了paramiko模塊實(shí)現(xiàn)ssh連接的具體用法,需要的朋友可以參考下2015-06-06Python爬蟲使用實(shí)例wallpaper問題記錄
本文介紹解決中文亂碼的方法,以及Python爬蟲處理數(shù)據(jù)、圖片URL的技巧,包括使用正則表達(dá)式處理字符串、URL替換等,還涉及單線程與多線程的應(yīng)用場景,如電腦壁紙和手機(jī)壁紙爬取,適合進(jìn)行Web數(shù)據(jù)抓取和處理的開發(fā)者參考2024-09-09對Django中內(nèi)置的User模型實(shí)例詳解
今天小編就為大家分享一篇對Django中內(nèi)置的User模型實(shí)例詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08Python遞歸實(shí)現(xiàn)猴子吃桃問題及解析
這篇文章主要介紹了Python遞歸實(shí)現(xiàn)猴子吃桃問題及解析,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07Python優(yōu)秀開源項(xiàng)目Rich源碼解析的流程分析
這篇文章主要介紹了Python優(yōu)秀開源項(xiàng)目Rich源碼解析,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07Python修改Excel數(shù)據(jù)的實(shí)例代碼
Python修改Excel數(shù)據(jù)的方法。2013-11-11