wx事件处理二

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

#!/usr/bin/env python
# -*- coding: utf-8 -*-

‘‘‘
    Function:常用对话框实例
    Input:NONE
    Output: NONE
    author: socrates
    blog:http://www.cnblogs.com/dyx1024/
    date:2012-07-07
‘‘‘  

import wx

class MyFrame(wx.Frame):

    def __init__(self, parent, id):
        wx.Frame.__init__(self, parent, id, u‘测试面板Panel‘, size = (600, 300))

        #创建面板
        self.panel = wx.Panel(self) 

        #在Panel上添加Button
        self.button = wx.Button(self.panel, label = u‘关闭‘, pos = (150, 60), size = (100, 60))

        #绑定单击事件
        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 = -1)
    frame.Show()
    app.MainLoop()

原文地址:https://www.cnblogs.com/fzuhyj/p/9162891.html

时间: 2024-11-08 02:16:46

wx事件处理二的相关文章

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

转载请注明出处:http://blog.csdn.net/whjForWork/article/details/44926833 事件处理的事件传递 简介: 发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件 队列中,UIApplication会从事件队列中取出最前面的事件,并将事件分发下去以便处理,通常,先发送事件给应用程序的主窗口(keyWindow) UIView不接受触摸事件的三种情况: 不接收用户交互 userInteractionEnabled = NO

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

1.BoxLayout类可以创建一个布局对象,成为盒式布局,BoxLayout在javax.Swing  border 包中,java.swing 包提供一个Box类,该类也是一个类,创建的容器称作一个盒式布局,不   允许盒式容器的布局.在策划程序布局的时候,可以利用容器的嵌套,将某个容器嵌入几个盒式容器,达到布局的目的. 使用盒式布局的容器组件将排列一行或一列,这取决于创建盒式布局对象时,是否确定行的排列和列的排列, package com.Example2; import javax.sw

七日Python之路--第三天(之不安分 wxPython)

Python有好多个GUI框架,wxPython比较流行,so just do it.....   Win下各种不爽,又换Ubuntu 跟着教程做个记事本.视频地址:http://www.pythoner.cn/course/topic/wxPython-gui/ (一)wxpython的安装 Ubuntu下的安装,还是比较简单的. #使用:apt-cache search wxpython 测试一下,可以看到相关信息 [email protected]:~/Python$ apt-cache 

微信小程序上拉、下拉、动态设置窗口背景色

一.enablePullDownRefresh 1.下拉刷新enablePullDownRefresh的支持 单页面配置json文件 { "enablePullDownRefresh": true } app.json配置(所有页面都带有下拉刷新功能) { "window": { "enablePullDownRefresh": true } } 2.设置backgroundTextStyle大家会发现别人的小程序下拉刷新是有三个点闪烁的动画.自

QT开发(十二)——QT事件处理机制

QT开发(十二)--QT事件处理机制 一.QT事件简介 QT程序是事件驱动的, 程序的每个动作都是由内部某个事件所触发.QT事件的发生和处理成为程序运行的主线,存在于程序整个生命周期. 常见的QT事件类型如下: 键盘事件: 按键按下和松开 鼠标事件: 鼠标移动,鼠标按键的按下和松开 拖放事件: 用鼠标进行拖放 滚轮事件: 鼠标滚轮滚动 绘屏事件: 重绘屏幕的某些部分 定时事件: 定时器到时 焦点事件: 键盘焦点移动 进入和离开事件: 鼠标移入widget之内,或是移出 移动事件: widget的

Android笔记二十四.Android基于回调的事件处理机制

如果说事件监听机制是一种委托式的事件处理,那么回调机制则与之相反,对于基于回调的事件处理模型来说,事件源和事件监听器是统一的,或者说事件监听器完全消失了,当用户在GUI控件上激发某个事件时,控件自己特定的方法将会负责处理该事件. 转载请表明出处:http://blog.csdn.net/u012637501(嵌入式_小J的天空) 一.View类的常见回调方法 为了使用回调机制来处理GUI控件上所发生的事件,需要为该组件提供对应的事件处理方法,而Java又是一种静态语言,我们无法为每个对象动态地添

IOS开发——UI进阶篇(十二)事件处理,触摸事件,UITouch,UIEvent,响应者链条,手势识别

触摸事件 在用户使用app过程中,会产生各种各样的事件 一.iOS中的事件可以分为3大类型 触摸事件加速计事件远程控制事件 响应者对象在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件.我们称之为“响应者对象” UIApplication.UIViewController.UIView都继承自UIResponder,因此它们都是响应者对象,都能够接收并处理事件 二.UIResponder UIResponder内部提供了以下方法来处理事件触摸事件- (v

学习笔记二十五:事件处理(一)

人类要在竞争中求生存,更要奋斗.--孙中山 本讲内容:事件处理 导入包: import java.awt.event.*; 一.事件分为两大类:低级事件和高级事件. 1.低级事件包括以下几种 事件类别 接口名 描述 ComponentEvent  组件事件 ComponentListener 发生于组件大小改变.移动.显示或隐藏时 ContainerEvent  容器事件 ContainerListener 发生于添加或删除一个组件时 WindowEvent  窗口事件 WindowListen

wx小程序知识点(二)

二.WXML和HTML的异同.WXSS和CSS的异同 (1)WXML和HTML 相同点:都是用来描述页面结构的,由标签.属性组成 不同点:标签名不一样,小程序标签名更少: 小程序多了 wx:if 这样的属性和 {{}} 的表达式: 小程序只能在微信开发者工具中预览,而HTML可以在浏览器中预览: 小程序对组件进行了重新封装: 小程序运行在 JS Core 内,没有DOM树和window对象,无法使用window对象和document对象 (2)WXSS和CSS 相同点:都是用来描述页面的样式 不