tkinter -- Event(1)
短信预约 -IT技能 免费直播动态提醒
事件的使用方法
测试鼠标点击(Click)事件
代码:
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()
结果:
分别测试鼠标的事件,回调函数的参数 event 中(x,y)表示当前点击的坐标值
测试鼠标的移动(Motion)事件
测试鼠标移动事件
代码:
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()
结果:
分别测试鼠标的移动事件,只有当鼠标被按下后移动才回产生事件
测试鼠标的释放(Relase)事件
代码:
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()
结果:
分别测试鼠标的 Relase 事件,只有当鼠标被 Relase 后移动才回产生 Relase 事件
进入(Enter)事件
测试鼠标释放事件
代码:
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()
结果:
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341