前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >tkinter -- Event(1)

tkinter -- Event(1)

作者头像
py3study
发布2018-08-03 11:00:12
5030
发布2018-08-03 11:00:12
举报
文章被收录于专栏:python3

事件的使用方法

测试鼠标点击(Click)事件

代码:

代码语言:javascript
复制
import tkinter as tk
root = tk.Tk()

# 测试鼠标点击事件
def printcoords(event):
    print(event.x, event.y)

# 创建第一个 Button,并将它与左键事件绑定
bt1 = tk.Button(root, text='leftmost button')
bt1.bind('<Button-1>', printcoords)

# 创建二个 Button,并将它与中键事件绑定
bt2 = tk.Button(root, text='middle button')
bt2.bind('<Button-2>', printcoords)

# 创建第三个 Button,并将它与右击事件绑定
bt3 = tk.Button(root, text='rightmost button')
bt3.bind('<Button-3>', printcoords)

# 创建第四个 Button,并将它与双击事件绑定
bt4 = tk.Button(root, text='double click')
bt4.bind('<Double-Button-1>', printcoords)

# 创建第五个 Button,并将它与三击事件绑定
bt5 = tk.Button(root, text='triple click')
bt5.bind('<Triple-Button-1>', printcoords)

bt1.grid()
bt2.grid()
bt3.grid()
bt4.grid()
bt5.grid()
root.mainloop()

结果:

blob.png
blob.png

分别测试鼠标的事件,回调函数的参数 event 中(x,y)表示当前点击的坐标值

测试鼠标的移动(Motion)事件

测试鼠标移动事件

代码:

代码语言:javascript
复制
import tkinter as tk
root = tk.Tk()

# 测试鼠标点击事件
def printcoords(event):
    print(event.x, event.y)

# 创建第一个 Button,并将它与右击移动事件绑定
bt1 = tk.Button(root, text='leftmost button')
bt1.bind('<B1-Motion>', printcoords)

# 创建第二个 Button,并将它与右击移动事件绑定
bt2 = tk.Button(root, text='middle button')
bt2.bind('<B2-Motion>', printcoords)

# 创建第三个 Button,并将它与右击移动事件绑定
bt3 = tk.Button(root, text='rightmost button')
bt3.bind('<B3-Motion>', printcoords)


bt1.grid()
bt2.grid()
bt3.grid()
root.mainloop()

结果:

blob.png
blob.png

分别测试鼠标的移动事件,只有当鼠标被按下后移动才回产生事件

测试鼠标的释放(Relase)事件

代码:

代码语言:javascript
复制
import tkinter as tk
root = tk.Tk()

# 测试鼠标释放事件
def printcoords(event):
    print(event.x, event.y)

# 创建第一个 Button,并将它与左键释放事件绑定
bt1 = tk.Button(root, text='leftmost button')
bt1.bind('<ButtonRelease-1>', printcoords)

# 创建第二个 Button,并将它与左键释放事件绑定
bt2 = tk.Button(root, text='middle button')
bt2.bind('<ButtonRelease-2>', printcoords)

# 创建第三个 Button,并将它与左键释放事件绑定
bt3 = tk.Button(root, text='rightmost button')
bt3.bind('<ButtonRelease-3>', printcoords)


bt1.grid()
bt2.grid()
bt3.grid()
root.mainloop()

结果:

blob.png
blob.png

分别测试鼠标的 Relase 事件,只有当鼠标被 Relase 后移动才回产生 Relase 事件

进入(Enter)事件

测试鼠标释放事件

代码:

代码语言:javascript
复制
import tkinter as tk
root = tk.Tk()
def printcoords(event):
    print(event.x, event.y)

# 创建第一个 Button,并将它与 Enter 事件绑定
bt1 = tk.Button(root, text='leftmost button')
bt1.bind('<Enter>', printcoords)

bt1.grid()
root.mainloop()

结果:

blob.png
blob.png
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/06/09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档