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()、wx.WrapSizer()、wx.StdDialogButtonSizer()、wx.GriSizer()、wx.FlexGridSizer()、wx.GridBagSizer()。

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

wx.BoxSizer(参数)  wx.HORIZONTAL (垂直布局)、wx.VERTICAL(水平布局)

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)    添加一个空白空间

三、控件

wx.StaticText(parent, label, pos)  静态文本对象,parent(父容器)、label(文本内容)、pos(文本位置)

wx.Button(parent, label, pos)  按钮对象,parent(父容器)、label(文本内容)、pos(文本位置)

 

四、窗口

窗口类主要有wx.Control(控件类的根类)、wx.NonOwnedWindow(子类wx.TopLevelWindow,子孙类wx.Dialog和wx.Frame)、wx.Panel(面板)、wx.MenuBar(菜单栏)。

wx.Frame是构建图形用户界面的主要窗口类。

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

 

五、示例

 

上一篇:【ngx-ueditor】百度编辑器按下Shift键不触发contentChange事件


下一篇:JS学习笔记Day11