下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

Python的事件处理

作者:课课家教育     来源: http://www.kokojia.com点击数:2184发布时间: 2018-12-04 09:01:55

标签: 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: CRM事件类型为按钮类型。在wxPython中有很多wx.EVT_开头的事件类型,例如,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()方法。用户名和密码正确运行结果如下图一所示,否则运行结果如下图二所示。Python的事件处理_Pythonn_事件处理_编程教学_课课家

赞(23)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程