wxPython首先在触发对象中查找匹配事件类型的被绑定的处理器函数,如果找到,刚相应方法被执行。如果没找到,wxPython将检查该事件是否传送到了上一级的容器,如果是,父窗口被检查,如此一级级向上查找,直到找到一个处理函数或到达顶层窗口。

#!/usr/bin/env python
# -*- coding: utf- -*- '''
Function:常用对话框实例
Input:NONE
Output: NONE
author: socrates
blog:http://www.cnblogs.com/dyx1024/
date:--
''' import wx class MyFrame(wx.Frame): def __init__(self, parent, id):
wx.Frame.__init__(self, parent, id, u'测试面板Panel', size = (, )) #创建面板
self.panel = wx.Panel(self) #在Panel上添加Button
self.button = wx.Button(self.panel, label = u'关闭', pos = (, ), size = (, )) #绑定单击事件
self.Bind(wx.EVT_BUTTON, self.OnCloseMe, self.button) #绑定鼠标位于按钮上事件
self.button.Bind(wx.EVT_ENTER_WINDOW, self.OnEnterWindows) #绑定鼠标离开事件
self.button.Bind(wx.EVT_LEAVE_WINDOW, self.OnLeaveWindows) def OnCloseMe(self, event):
self.panel.SetBackgroundColour('Red')
self.panel.Refresh() def OnEnterWindows(self, event):
self.panel.SetBackgroundColour('Blue')
self.panel.Refresh()
self.button.SetLabel(u"鼠标在我上面")
event.Skip() def OnLeaveWindows(self, event):
self.panel.SetBackgroundColour('Green')
self.panel.Refresh()
self.button.SetLabel(u"鼠标离开我了")
event.Skip() if __name__ == '__main__':
app = wx.PySimpleApp()
frame = MyFrame(parent = None, id = -)
frame.Show()
app.MainLoop()

wx事件处理二的更多相关文章

  1. OS开发中的事件处理(二)-事件传递,响应者链条

    事件处理的事件传递 简介: 发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件 队列中,UIApplication会从事件队列中取出最前面的事件,并将事件分发下去以便处理, ...

  2. java Swing组件和事件处理(二)

    1.BoxLayout类可以创建一个布局对象,成为盒式布局,BoxLayout在javax.Swing  border 包中,java.swing 包提供一个Box类,该类也是一个类,创建的容器称作一 ...

  3. 物联网大赛 - Android学习笔记(三)Android 事件处理

    学习目标: 了解事件处理概念 监听事件处理模型 事件与事件监听接口 实现事件监听方式 回调事件处理模型 常见的事件回调方法 Handler类功能与用法 Handler更新程序界面 一.监听概念 再用户 ...

  4. webpack处理非模块化的几方法

    webpack处理非模块化文件有几方法,主要分为外链和webpack打包二种情况: 一.使用CDN外部链接的方法 官网文档External: https://webpack.github.io/doc ...

  5. 第一个微信小程序踩的几个小坑

    1.小程序测试调试阶段可以打开项目设置中的“开发环境不校验请求域名.TLS版本及HTTPS证书”配置,即可以和自己的服务器联调了. (需要在工具栏的设置 -> 项目设置 中配置,mac下直接co ...

  6. 微信小程序开发1_资料收集

    [前言] 小程序 [一.资料] 微信官网 开发文档.工具 等 https://mp.weixin.qq.com/cgi-bin/wx [二] 创建小程序和编辑代码,先安装 开发者工具 ,根据所使用的操 ...

  7. Spark0.9.0机器学习包MLlib-Optimization代码阅读

           基于Spark的一个生态产品--MLlib,实现了经典的机器学算法,源码分8个文件夹,classification文件夹下面包含NB.LR.SVM的实现,clustering文件夹下面包 ...

  8. 微信小程序视图层介绍及用法

    一. 视图层 WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件.事件系统,可以构建出页面的结构. 1.1. 数据绑定 1.1.1. 普通写法 <vi ...

  9. day87_11_7微信小程序之登录,支付(获取ip,requests使用),授权

    一.登录接口. 官方文档https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html 在登录接口 ...

随机推荐

  1. tomcat使用同一个http端口如何配置多个web项目?

    1. 在server.xml中 如下配置: <Host name="localhost" appBase="webapps2" unpackWARs=&q ...

  2. Analytics.js简介

    analytics.js JavaScript代码段是一种可用于衡量用户与您网站的互动情况的全新方式.它与之前的跟踪代码ga.js类似,但为开发者自定义实现方案提供了更大的灵活性. analytics ...

  3. 201621123049 《Java程序设计》第1周学习总结

    一. 本周学习总结 JDK,JRE,JVM等基本概念 怎么学好java???不,是怎么才能应用好??? 编程!编程!编程! 思考->设计->解决问题 二. 书面作业 1.虚拟机 1.1 执 ...

  4. easyui Dialog 去边框

    使用Url页面显示 panel-body 的内容, 因页面高度大于iframe高度,右侧则会出现边框, 如果页面显示的内容高度真实大于iframe高度,那出现边框是很正常. 我的问题就是有内部页面 的 ...

  5. svn的安装方法

    SVN的安装很常用.但是我好像经常用了之后就忘记.这次把笔记放在这里,如果以后忘了,就可以随时查看了. 步骤: 一.下载SVN 这里常用的是site.zip. 之前是手头有现成的site.zip.今天 ...

  6. PAT甲级1013-1014-1015

    题目:1013 Battle Over Cities 思路:城市数也就1000, 对于每次询问暴力bfs一下看一下有多少连通块就行了.答案就是联通块数减一. #include<stdio.h&g ...

  7. C和C指针小记(七)-整型变量范围

    1.变量范围 limits.h 头文件中定义来C 语言的变量范围. 变量范围的限制 //char 的范围 printf("CHAR_BIT:%d CHAR_MIN:%d CHAR_MAX:% ...

  8. new malloc 区别

    http://www.cplusplus.com/reference/cstdlib/malloc/ http://www.cplusplus.com/reference/new/operator%2 ...

  9. 如何实现浏览器向服务器伪造refer?

    Request URL:https://www.getwnmp.org/ Request Method:GET Status Code:304 Remote Address:45.55.134.251 ...

  10. c# http get post转义HttpUtility.UrlEncode

    //该数据如果要http get.post提交,需要经过转义,否则该数据中含& ''等字符会导致意外错误.需要转义.这里用HttpUtility.UrlEncode来转义.接收方无需反解析 s ...