事件与绑定|GUI编程

事件

  • 如果大家学习过Windows编程,经常会听到“Windows是基于消息的”,而绝大多数界面编程也都会提及“事件”
  • 我们的很多操作,比如我们点击了一下鼠标,这就是一个事件,而操作系统也会根据我们相应的事件产生相应的消息,操作系统把消息传递给我们的应用程序,然后我们的应用程序根据操作系统传入的数据执行相应的命令。
  • 事件是我们触发的,消息是操作系统根据我们的事件产生的,我们通常对于“消息”并不多关注,我们重视的是“事件”

事件及其绑定

1、其实,我们在按钮的那一刻就接触到了事件的绑定,使用的函数是bind
2、bind函数的调用规则,窗体对象.bind(事件类型,回调函数)
3、所谓的“回调函数”,就是这个函数我们不用去调用它,当相应的事件发生的时候,他会自动取出调用,比如当我们按下按钮的时候,它会被自动调用

常用的事件

1、我们在使用bind函数的时候,他的第一个参数就是事件的类型了。
2、Button-1 表示鼠标左键单击,其中的1换成3表示右键被单击,表示2的时候表示鼠标中键。
3、KeyPress-A表示A键被按下,其中的A可以换成其他键位
4、Control-V表示按下的是Ctrl和V键,V可以换成其他键位。
5、F1表示按下的是F1键,对于Fn系列的,都可以随便换。

绑定

1、事件不仅仅可以与button绑定,bind函数是定义在Misc类里的,也就是说,这个bind可以被绝大多数组件所使用,也就是说,我们可以让“标签”模拟“按钮”的作用。
2、因为标签是Label类,而Label类继承自Widget,而Widget继承自BaseWidget继承自Misc
在这里插入图片描述

from tkinter import *

def myLabel(event):
	global py
	s = Label(py, text = "人生苦短,我学python")
	s.pack()

py = Tk()

n = Label(py,text = "我可不是真的button")
n.bind("<Button-1>",myLabel)
n.pack()

py.mainloop()

关于bind函数

1、关于bind函数,还有两个版本,使用的方面不同。
2、可以在全程序级别的绑定,使用bind_all,它的参数类型和bind一样,它通常用于全局的快捷键,比如F1通常是用来打开帮助文档的。

解除绑定

1、解除绑定使用unbind方法,他和bind的使用很相似。
2、不过unbind方法只需要一个参数就可以了,它只需要解除绑定的事件的类型,因为它会解除该绑定事件类型的所有回调函数。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值