Python的事件处理

    作者:课课家教育更新于: 2018-12-03 19:34:54

    大神带你学编程,欢迎选课

    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_事件处理_编程教学_课课家

课课家教育

未登录