python事件是什么意思_Python的事件处理

wxPython的事件处理

1 什么是事件

完成布局以后,接下来就是输入用户名和密码。当单击“确定”按钮时,自动化开发" href="http://www.kokojia.com/s70048/" target="_blank">自动化开发检验输入的用户名和密码是否正确,并输出相应的提示信息。当单击“取消”按钮时,消空已经输入的用户名和密码。要实现这样的功能,就需要使用wxPython的事件处理。

那么什么是事件呢?用户执行的动作就叫作事件(event) ,比如单击按钮,就是一个单击事件.

2 绑定事件

当发生一个事件时,需要让程序注意这些事件并且做出反应。这时,可以将函数绑定到所涉及事件可能发生的控件上。当事件发生时,前端开发函数就会被调用。利用控件的Bind()方法可以将事件处理函数绑定到给定的事件上。例如,为“确定”按钮添加一个单击事件,代码如下:

bt_confirm.Bind(wx.EVT_BUTTON,OnclickSubmit)

参数说明如下:

wx.EVT_ BUTTON: python全栈开发类型wx.EVT_ MOTION 产生于用户移动鼠标。类型Wx.ENTER _window和wx.LEAVE_ WINDOW产生于当鼠标进入或离开一个窗口控件。类型wx.EVT _MOUSEWHEEL被绑定到鼠标滚轮的活动。

OnclickSubmit: 方法名。事件发生时执行该方法。

[例]使用事件判断用户登录。在布局篇实例的基础上,分别为“确定”和“取消”按钮添加单击事件。当用户输入用户名和密码后,单击“确定”按钮,如果输入的用户 名为mr并且密码为 mrsoft,则弹出对话框提示 “登录成功” ,否则提示“用户名和密码不匹配”。当用户单击“取消”按钮时,清空用户输入的用户名和密码。关键代码如下:

#-*-coding:utf-8-*-

import wx

class MyFrame(wx.Frame):

def_init_(self,parent,id):

wx.Frame._init_(self,parent,id,'用户登录',size=(400,300))

#创建面板

panel=wx.Panel(self)

#创建 “确定”和 “取消”按钮,并绑定事件

self.bt_confirm=wx.Button(panel,label='确定')

self.bt_confirm.Bind(wx.EVT_BUTTON,self.OnclickSubmit)

self.bt_cancel=wx.Button(panel,label='取消')

self.bt_cancel.Bind(wx.EVT_BUTTON,self.OnclickCancel)

#...省略其余代码

def OnclickSubmit(self,event):

"""单击“确定”按钮,执行方法"""

message=""

username=self.text_user.GetValue() #获取输入的用户名

password=self.text_password.GetValue() #获取输入的秘码

if username==""or password=="" #判断用户名或密码是否为空

message='用户名或密码不能为空'

elif username=='mr'and password=='mrsoft': #用户名和密码正确

message='登录成功'

else:

message='用户名和密码不匹配' #用户名或密码错误

wx.MessageBox(message) #弹出提示框

def OnclickCancel(self,event):

"""单击取消按钮,执行方法"""

self.text_user.SetValue("") #清空输入的用户名

self.text_password.SetValue("") #清空输入的密码

if_name_=='_main_':

app=wx.App() #初始化应用

frame=MyFrame(parent=None,id=-1) #实例MyFrame类,并传递参数

frame.Show() #显示窗口

app.MainLoop() #调用主循环方法

上述代码中,分别使用bind()函数为bt_ confirm 和bt _cancel 绑定了单击事件,Django项目单击“确定”按钮时,执行OnclickSubmit()方法判断用户名和密码是否正确,然后使用wx.MessageBox()弹出提示框。单击“取消”按钮时,执行OnclickCancel()方法。用户名和密码正确运行结果如下图一所示,否则运行结果如下图二所示。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值