存在的事件

事件events — 存在的事件

事件是每个 GUI 应用程序的必要部分. 所有图像应用程序都是事件驱动的. 一个应用程序将对其生命周期产生的事件进行回应. 事件主要是由程序用户产生的. 当然也可能是由其它方式产生,比如互联网连接、窗口管理器以及定时器等. 在我们调用MainLoop() 方法时,应用程序就等待着事件的产生了. MainLoop() 方法在我们退出程序时终止.[more…]
在 wxPython 中应用事件功能是十分简单明了的. 只需三步:

  • 识别事件名字:比如 wx.EVT_SIZEwx.EVT_CLOSE 等.
  • 创建一个事件处理器. 它就是一个方法, 将会在事件产生时调用到.
  • 将事件绑定 (bind) 到对应的事件处理器.

在 wxPython 中我们说是把一个方法绑定到某个事件. 而有时也说钩起 (hook) 一词.
通过调用 Bind() 方法来绑定事件. 该方法有着以下参数:

Bind(event, handler, source=None, id=wx.ID_ANY, id2=wx.ID_ANY)
  • “event”指某个 EVT_* 对象. 它指明了事件的类型.
  • “handler”是要调用的一个目标. 换句话说,它是编程者要绑定到某个事件的那个方法.
  • “source”参数,当我们想要从相同的事件中,依据不同部件而加以区分时,会用到这个参数.
  • “id”参数,在我们有多个按钮、多个菜单等情况下,它被用来加以区分.
  • “id2”参数,在需要将一个处理器绑定到某个范围的标示符时,要用到这个参数,比如结合EVT_MENU_RANGE一起使用.

需要注意的是,Bind() 方法是在 EvtHandler 类中定义的. 而 wx.Window 正是继承自这个类. wx.Window 又是 wxPython 中大多数部件的基础类. 同时还有与其相反的过程. 如果我们想要解除某个方法到事件的绑定,我们可以调用 Unbind() 方法. 它有着跟 Bind() 同样的参数.

possible_events
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值