Tkinter的事件绑定

川长思鸟来 2023-10-17 23:31 258阅读 0赞

Tkinter提供一个强大的机制可以让你自由地处理事件,对于每个组件来说,可以通过bind()方法将函数或者方法绑定到具体的事件上,当被触发的事件满足该事件绑定的事件时,Tkinter就会带着事件描述去调用handler()方法。

例子一:捕获鼠标单击时的位置

  1. # 捕获点击鼠标的位置
  2. from tkinter import *
  3. root = Tk()
  4. def callback(event):
  5. print("点击位置:", event.x, event.y)
  6. frame = Frame(root, width=200, height=200)
  7. frame.bind("<Button-1>", callback)
  8. frame.pack()
  9. mainloop()

70

使用Frame组件的bind()方法将鼠标单击事件和自定义的callback()方法绑定起来。

例子二:捕获键盘事件

  1. # 捕获键盘事件
  2. from tkinter import *
  3. root = Tk()
  4. def callback(event):
  5. print("敲击位置:", repr(event.char))
  6. frame = Frame(root, width=200, height=200)
  7. frame.bind("<Key>", callback)
  8. frame.focus_set()
  9. frame.pack()
  10. mainloop()

70 1

只有当组件获得焦点的时候才能接收键盘事件Key,使用focus_set()获得焦点。

例子三:捕获鼠标在组件上的运动轨迹

  1. from tkinter import *
  2. root = Tk()
  3. def callback(event):
  4. print("当前位置:", event.x, event.y)
  5. frame = Frame(root, width=200, height=200)
  6. frame.bind("<Motion>", callback)
  7. frame.pack()
  8. mainloop()

70 2

这里需要关注的是

发表评论

表情:
评论列表 (有 0 条评论,258人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Tkinter事件

    Tkinter提供一个强大的机制可以让你自由地处理事件,对于每个组件来说,可以通过bind()方法将函数或者方法绑定到具体的事件上,当被触发的事件满足该事件绑定的事件时,Tki

    相关 jacascript事件

    一、  使用对象.事件=函数的形式绑定响应函数         它只能同时为一个元素的一个事件绑定一一个响应函数,不能绑定多个,如果绑定了多个,则后边会覆盖掉前边的    

    相关 WEUI 事件

    1、简易的输入同步框 所需用到的事件为bindinput,详情可以查看开发文档 通过bindinput事件来监听输入框的值是否发生改变且获取到改变后的值,之后在js文件...