wxPython


wxPython官方網站 (https://wxpython.org/),主要提供 事件處理、布局管理、控件、窗口 四個GUI內容。

一、事件處理

self.Bind(wx.EVT_BUTTON, self.on_click, b)  綁定事件,第一個參數(事件類型),第二個參數(事件處理者),第三個參數(事件源)

事件類型:

  wx.EVT_BUTTON     按鈕

  wx.EVT_LEFT_DOWN   鼠標按下

  wx.EVT_LEFT_UP    鼠標釋放

  wx.EVT_MOTION     鼠標移動

  

二、布局管理

  wxPython中可以通過兩種方式實現布局管理,即絕對布局和Sizer管理布局。絕對布局就是使用具體數值設置子窗口和控件的位置和大小,它不會隨着父容器移動或調整大小后而變化。size=(300,180)和pos=(110,15)都屬於絕對布局。

  wxPython提供了8個布局管理類,包括wx.Sizer(布局管理類的根類)、wx.BoxSizer(布局器類)、wx.StaticBoxSizer(在box布局周圍多一個附加的帶靜態文本的邊框)、wx.WrapSizer()、wx.StdDialogButtonSizer()、wx.GriSizer(以網格形式對子窗口進行擺放, 固定)、wx.FlexGridSizer(網格布局, 大小可不同)、wx.GridBagSizer()。

  wx.BoxSizer()是所有布局中最常用的,它可以讓其中的子窗口(或控件)沿垂直或水平方向布局。

wx.BoxSizer(參數)  wx.HORIZONTAL (垂直布局)、wx.VERTICAL(水平布局)

wx.StaticBoxSizer(box, orient=HORIZONTAL)   box(StaticBox(靜態框)對象)

wx.StaticBoxSizer(orient, parent, label="")    orient(布局方向)、parent(父窗口)

wx.GridSizer(rows, cols, vgap, hgap)       rows(行數)、cols(列數)、vgap(垂直間隙)、hgap(水平間隙)

wx.GridSizer(rows, cols, gap)              gap(wx.Size類型,指定垂直和水平間隙)

wx.GridSizer(cols,vgap,hgap)           指定列數,不限定行數

wx.GridSizer(cols,gap=wx.Size(0,0))        同wx.GridSizer(rows, cols, gap)

wx.FlexGridSizer()                同wx.GridSizer()  私有方法有AddGrowableRow(idx, proportion=0)和AddGrowableRow(idx, proportion=0) 

 

Add(window, proportion=0, flag=0, border=0, userData=None)      添加父窗口   proportion(空間占比,僅被wx.BoxSizer使用)、flag(用來控制對齊、邊框、調整尺寸)、

Add(sizer, proportion=0, flag=0, border=0, userData=None)     添加到另一個Sizer中,用於嵌套

Add(width, height, proportion, flag=0, border=0, userData=None)    添加一個空白空間

AddMany()                              可以一次性添加幾個

對齊flag標志
標志 說明
wx.ALIGN_TOP 頂對齊
wx.ALIGN_BOTTOM 底對齊
wx.ALIGN_LEFT 左對齊
wx.ALIGN_RIGHT 右對齊
wx.ALIGN_CENTER 居中對齊
wx.ALIGN_CENTER_VERTIAL 垂直居中對齊
wx.ALIGN_CENTER_HORIZONTAL 水平居中對齊
wx.ALGIN_CENTRE 同wx.ALIGN_CENTER
wx.ALIGN_CENTRE_VERTIAL 同wx.ALIGN_CENTER_VERTIAL
wx.ALIGN_CENTRE_HORIZONTAL 同wx.ALIGN_CENTER_HORIZONTAL

 

 

 

邊框flag標志
標志 說明
wx.TOP 設置有頂部邊框,邊框的寬度需要通過Add()方法的border參數設置
wx.BOTTOM 設置有底部邊框
wx.LEFT 設置有左邊框
wx.RIGHT 設置有右邊框
wx.ALL 設置4面全有邊框

 

調整尺寸flag標志
標志 說明
wx.EXPAND 調整子窗口(或控件)完全填滿有效空間
wx.SHAPED 調整子窗口(或控件)填充有效空間,但保存高寬比
wx.FIXED_MINSIZE 調整子窗口(或控件)為最小尺寸
wx.RESERVE_SPACE_EVEN_IF_HIDDEN 設置此標志后,子窗口(或控件)如果被隱藏,所占空間保留

 

 

 

 

 

 

 

三、控件

wx.StaticText(parent, label, pos)  靜態文本對象,parent(父容器)、label(文本內容)、pos(文本位置)

wx.Button(parent, id, label, pos)  按鈕對象,parent(父容器)、id(算是識別的參數吧)、label(文本內容)、pos(文本位置)

 

四、窗口

窗口類主要有wx.Control(控件類的根類)、wx.NonOwnedWindow(子類wx.TopLevelWindow,子孫類wx.Dialog和wx.Frame)、wx.Panel(面板)、wx.MenuBar(菜單欄)。

wx.Frame是構建圖形用戶界面的主要窗口類。

wx.Panel(parent)  parent(父容器)

 

五、示例

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM