wxpython的sizer_wxPython BoxSizer布局

Box = wx.BoxSizer(wxHORIZONTAL) Box = wx.BoxSizer(wxVERTICAL)

Add()?方法(從wxSizer繼承)它附加到sizer的下一行/列。

Box.Add(control, proportion, flag, border)

proportion?參數控制的控件響應于所述容器的尺寸改變其大小。各種flag?參數的組合決定控件在sizer的外觀。下面是一些標志-

對齊標志

wx.ALIGN_TOP

wx.ALIGN_BOTTOM

wx.ALIGN_LEFT

wx.ALIGN_RIGHT

wx.ALIGN_CENTER_VERTICAL

wx.ALIGN_CENTER_HORIZONTAL

邊界標志

wx.TOP

wx.BOTTOM

wx.LEFT

wx.RIGHT

wx.ALL

行為標志

S.N.

行為標志和說明

1

wx.EXPAND

項目將擴大,以填補提供給它的空間(wx.GROW是一樣的)

2

wx.SHAPED

與EXPAND相似,但保持了項目的高寬比

3

wx.FIXED_MINSIZE

不允許該項目變得比其最初的最小尺寸更小

4

wx.RESERVE_SPACE_EVEN_IF_ HIDDEN

不允許測量器(sizer)回收項目空間,當它被隱藏時

border參數是整數,也可以在控件之間留下像素空間。?例如,

b = wx.StaticText(self, -1, “Enter a number”) Box.Add(b,1,wx.ALL|wx.EXPAND,10)

以下是 wx.BoxSizer 類的一些方法?–

S.N.

方法 & 描述

1

SetOrientation()

設置定向wxHORIZONTAL或wxVERTICAL

2

AddSpacer()

添加非伸縮性空間

3

AddStretchSpacer()

增加了伸縮空間,以便調整窗口的大小會影響控件的大小成比例

4

Clear()

從sizer移除子控件

5

Detach()

從sizer刪除控件不銷毀

6

Insert()

在指定位置插入一個子控件

7

Remove()

從sizer和銷毀刪除子控件

實例

在下面的代碼,一個垂直box?sizer用用于放置在 wxFrame 窗口面板對象。

p = wx.Panel(self) vbox = wx.wx.BoxSizer(wx.VERTICAL)

在框中的第一行顯示在中心,并且以20個像素作為邊框的標簽(wx.StaticText對象)。

l1 = wx.StaticText(p,label = "Enter a number",style = wx.ALIGN_CENTRE ) vbox.Add(l1,0, wx.ALL|wx.EXPAND|wx.ALIGN_CENTER_HORIZONTAL, 20)

在第二行中,將顯示一個wx.Button對象。因為wx.EXPAND標志它占據窗口的整個寬度。

b1 = wx.Button(p, label = "Btn1") vbox.Add(b1,0, wx.EXPAND)

下一行還包含一個按鈕。它沒有使用EXPAND標志補充說。相反,因為ALIGN_CENTER_HORIZONTAL按鈕的默認大小顯示在中心水平。

b2 = wx.Button(p, label = "Btn2") vbox.Add(b2,0,wx.ALIGN_CENTER_HORIZONTAL)

在接下來的一行,添加proportion參數到TextCtrl對象設定為1和EXPAND標志集。其結果是,大小變更大。

t = wx.TextCtrl(p) vbox.Add(t,1,wx.EXPAND,10)

最后一排保持水平sizer?對象,這反過來又都有一個標簽,并通過按鈕拉伸空格分開。

hbox = wx.BoxSizer(wx.HORIZONTAL) l2 = wx.StaticText(p,label = "Label2", style = wx.ALIGN_CENTRE) hbox.Add(l2,0,wx.EXPAND) b3 = wx.Button(p,label = "Btn3") hbox.AddStretchSpacer(1) hbox.Add(b3,0,wx.ALIGN_LEFT,20) vbox.Add(hbox,1,wx.ALL|wx.EXPAND)

最后,垂直box?sizer適用于 wx.Panel 對象。

下面是完整的代碼?–

import wx class Example(wx.Frame): def __init__(self, parent, title): super(Example, self).__init__(parent, title = title, size = (200,300)) self.InitUI() self.Centre() self.Show() def InitUI(self): p = wx.Panel(self) vbox = wx.wx.BoxSizer(wx.VERTICAL) l1 = wx.StaticText(p,label = "Enter a number",style = wx.ALIGN_CENTRE ) vbox.Add(l1,0, wx.ALL|wx.EXPAND|wx.ALIGN_CENTER_HORIZONTAL, 20) b1 = wx.Button(p, label = "Btn1") vbox.Add(b1,0,wx.EXPAND) b2 = wx.Button(p, label = "Btn2") vbox.Add(b2,0,wx.ALIGN_CENTER_HORIZONTAL) t = wx.TextCtrl(p) vbox.Add(t,1,wx.EXPAND,10) hbox = wx.BoxSizer(wx.HORIZONTAL) l2 = wx.StaticText(p,label = "Label2", style = wx.ALIGN_CENTRE) hbox.Add(l2,0,wx.EXPAND) b3 = wx.Button(p,label = "Btn3") hbox.AddStretchSpacer(1) hbox.Add(b3,0,wx.ALIGN_LEFT,20) vbox.Add(hbox,1,wx.ALL|wx.EXPAND) p.SetSizer(vbox) app = wx.App() Example(None, title = 'BoxSizer Demo - www.yiibai.com') app.MainLoop()

上面的代碼產生下面的輸出?–

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/374064.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/374064.shtml
英文地址,請注明出處:http://en.pswp.cn/news/374064.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

NYOJ 6 噴水裝置(一)

噴水裝置(一) 時間限制:3000 ms | 內存限制:65535 KB 難度:3描述 現有一塊草坪,長為20米,寬為2米,要在橫中心線上放置半徑為Ri的噴水裝置,每個噴水裝置的效果都會讓以它為…

如何部署Zabbix服務端

部署環境 RHEL 6.7 Zabbix-server 2.2.14 安裝zabbix官方源 # wget http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm # rpm -ivh zabbix-release-2.2-1.el6.noarch.rpm 安裝zabbix-server # yum install zabbix zabbix-server-mysql zab…

Google App Engine上的Spring MVC和REST

前段時間,我寫了一篇關于如何使用Spring MVC實現Restful Web API的文章 。 閱讀我以前的文章以了解它。 在那篇文章中,開發了一個簡單的Rest示例。 為了測試該應用程序,將文件復制到Web服務器(例如Tomcat )中&#xff…

SALT+HASH撒鹽加密

#region 撒鹽加密string salt Guid.NewGuid().ToString();byte[] passwordAndSaltBytes System.Text.Encoding.UTF8.GetBytes(model.Password salt);byte[] hashBytes new System.Security.Cryptography.SHA256Managed().ComputeHash(passwordAndSaltBytes);string hashStr…

python 子串是否在字符串中_python七種方法判斷字符串是否包含子串

1. 使用 in 和 not inin 和 not in 在 Python 中是很常用的關鍵字,我們將它們歸類為 成員運算符。使用這兩個成員運算符,可以很讓我們很直觀清晰的判斷一個對象是否在另一個對象中,示例如下:>>> "llo" in &quo…

NYOJ 8 一種排序

一種排序 時間限制:3000 ms | 內存限制:65535 KB難度:3描述現在有很多長方形,每一個長方形都有一個編號,這個編號可以重復;還知道這個長方形的寬和長,編號、長、寬都是整數;現在要…

css3中的background

對background的兩種運用:一是background中的線性漸變,background: linear-gradient(to bottom,#0e7bef,#0d73da);這個是對背景顏色從上到下的一種線性漸變(linear-gradient),兩個顏色參數是從第一個顏色參數漸變到第二…

Oracle JRockit Mission Control 4.1發布

Oracle發布了以前的僅JRockit專用工具Mission Control Suite(JRMC)的新版本。 4.1版本是次要版本升級,直接遵循4.0.1(該版本發布于2010年中期)。 但是,即使版本號表明是次要的升級,您仍然可以在…

pe安裝usb3.0驅動_電腦店U盤啟動盤制作工具下載安裝須知

電腦店U盤啟動盤制作工具集成最全面的硬件驅動,精心挑選的系統維護工具,加上獨有人性化的設計,具備較強的兼容性、穩定性和安全性。能夠完美兼容臺式機、品牌機及筆記本等新老機型,且安全無毒,電腦店一鍵U盤啟動盤制作…

Webwork【02】前端OGNL試練

1.OGNL 出現的意義 在mvc中,數據是在各個層次之間進行流轉是一個不爭的事實。而這種流轉,也就會面臨一些困境,這些困境,是由于數據在不同世界中的表現形式不同而造成的: a. 數據在頁面上是一個扁平的,不帶數…

python ATM購物程序

需求: 模擬實現一個ATM 購物商城程序 額度 15000或自定義實現購物商城,買東西加入 購物車,調用信用卡接口結賬可以提現,手續費5%每月22號出賬單,每月10號為還款日,過期未還,按欠款總額 萬分之5…

NYOJ 10 skiing

skiing 時間限制:3000 ms | 內存限制:65535 KB難度:5描述Michael喜歡滑雪百這并不奇怪, 因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你不得不再次走上坡或…

Spring的REST服務發現性,第5部分

這是有關使用Spring 3.1和Spring Security 3.1和基于Java的配置來建立安全的RESTful Web Service的系列文章的第五篇。 上一篇文章介紹了RESTful服務HATEOAS的可發現性的概念,然后介紹了一些由測試驅動的實際方案。 本文將重點介紹可發現性的實際實現以及使用Spring…

postman使用_postman如何使用集合斷言?

在postman中,大家都使用過斷言,但是我們使用的斷言都是針對每一個接口或者是每一個用例添加的,那么是否有可以同時對多個用例或接口添加斷言呢 ? 答案是肯定有的。那么接下來我就帶領大家認識下Postman中的批量斷言,也…

紀念我的leetcode開門之旅

15.12.3在朋友的建議下開始了leetcode之旅,上面的題目先撿簡單的刷吧。。。轉載于:https://www.cnblogs.com/thewaytomakemiracle/p/5016825.html

NYOJ 16 矩形嵌套

矩形嵌套 時間限制&#xff1a;3000 ms | 內存限制&#xff1a;65535 KB難度&#xff1a;4描述有n個矩形&#xff0c;每個矩形可以用a,b來描述&#xff0c;表示長和寬。矩形X(a,b)可以嵌套在矩形Y(c,d)中當且僅當a<c,b<d或者b<c,a<d&#xff08;相當于旋轉X90度&…

沉思濫用:“強力使用,破壞濫用”

英國前首相本杰明迪斯雷利&#xff08;Benjamin Disraeli&#xff09;曾有一個古老的說法&#xff0c;說謊言分為三種&#xff1a;“謊言&#xff0c;該死的謊言和統計數據”。 這里的暗示是統計數據很容易彌補它們是不可靠的。 但是&#xff0c;統計學在經驗科學中得到了廣泛的…

centos和ubuntu下使用cron設置定時任務

1.啟動cron工具[ps:使用root權限] centos啟動cron兩種方式 a) /etc/init.d/crond start b) service crond start ubuntu啟動cron兩種方式 a) /etc/init.d/cron start b) service cron start(推薦) 2.添加定時任務[每個整點執行ls命令] centos crontab -e命令打開文件 添加一行:…

算法與數據結構(一)

這里的許多資源&#xff0c;有時間可用多看看&#xff0c;寫一下。 http://download.csdn.net/album/detail/3249/2 這個哥們的博客還不錯&#xff1a;http://u.cxyblog.com/2/articles-3.html轉載于:https://www.cnblogs.com/oxspirt/p/5805409.html

protected訪問權限_權限修飾符 /重寫

一 權限修飾符 private內容不能被繼承類:只有public / default 可以修飾 ,且default 默認出現protected訪問權限1.同包下的類2.不同包的子類,只能通過子父類關系訪問,只有子類中才可以使用.權限修飾符只能修飾成員,成員修飾符(成員變量|成員方法)二 重寫重寫和重載的區別:(都指…