当前位置:首页>python>Python学习记录(26)

Python学习记录(26)

  • 2026-09-10 12:30:17
Python学习记录(26)
1. BoxSizer布局
一种比通过pos参数布置在pannel画板上更智能的布局方式---sizer(尺寸器)。
wxpython的sizer说明
1.1.使用BoxSizer布局
尺寸器会管理组件的尺寸,只要将部件添加到尺寸器上,再加上一些布局参数,就可以让尺寸器自己去管理父组件的尺寸。

上述代码中,首先设置了增加背景控件(wx.Panel),并创建了一个wx.BoxSizer,它带有一个决定其是水平还是垂直的参数(wx.HORIZONTAL或者wx.VERTICAL),默认为水平;然后使用Add()方法将控件加入sizer;最后使用面板的SetSizer()方法设定它的尺寸器。

1.2 Add()方法的语法格式如下:Box.Add(control, proportion, flag, border)

参数说明:■ control:要添加的控件。■ proportion:所添加控件在定义的定位方式所代表方向上占据的空间比例。如果有三个按钮,它们的比例值分别为0、1和2,它们都已添加到一个宽度为30的水平排列wx.BoxSizer,起始宽度都是10。当sizer的宽度从30变成60时,按钮1的宽度保持不变,仍然是10,按钮2的宽度约为(10+(60-30)*1/(1+2))=20,按钮3约为30。■ flag:flag参数与border参数结合使用可以指定边距宽度,包括以下选项:● wx.LEFT:左边距● wx.RIGHT:右边距● wx.BOTTOM:底边距● wx.TOP:上边距● wx.ALL:上下左右4个边距

可以通过竖线“|”操作符(operator),来联合使用这些标志,比如wx.LEFT | wx.BOTTOM。此外,flag参数还可以与proportion参数结合,指定控件本身的对齐(排列)方式,包括以下选项:

● wx.ALIGN_LEFT:左边对齐

● wx.ALIGN_RIGHT:右边对齐

● wx.ALIGN_TOP:顶部对齐

● wx.ALIGN_BOTTOM:底边对齐

● wx.ALIGN_CENTER_VERTICAL:垂直对齐

● wx.ALIGN_CENTER_HORIZONTAL:水平对齐

● wx.ALIGN_CENTER:居中对齐

● wx.EXPAND:所添加控件将占有sizer定位方向上所有可用的空间

■ boder:控制所添加控件的边距,就是在部件之间添加一些像素的空白。

2.事件处理
用户执行的动作就叫做事件。
2.1绑定事件 ,将函数绑定到所涉及事件可能发生的控件上,当事件发生时,函数就会被调用。利用控件Bind()方法可以将事件处理函数绑定到给定的事件上,代码:

bt_confirm.Bind(wx.EVT_BUTTON,OnclickSubmit)

参数说明:■ wx.EVT_BUTTON:事件类型为按钮类型。在wxPython中有很多wx.EVT_开头的事件类型,例如,类型wx.EVT_MOTION产生于用户移动鼠标,类型wx.ENTER_WINDOW和wx.LEAVE_WINDOW产生于当鼠标进入或离开一个窗口控件,类型wx.EVT_MOUSEWHEEL被绑定到鼠标滚轮的活动。■ OnclickSubmit:方法名。事件发生时执行该方法。

在上面例子增加按钮的事件处理:

运行后,进行输入用户名密码等操作,
输入正确的用户名密码确定:
不输入用户名密码确定:
输入错误的用户名密码:

最新文章

随机文章