当前位置:   article > 正文

Python笔记之Tkinter(鼠标事件)_python

python

一、目标

学习Tkinter制作窗体软件的基础,鼠标相关的事件。

Button-1>  鼠标左键
<Button-2>   鼠标中间键(滚轮)
<Button-3>  鼠标右键
<Double-Button-1>   双击鼠标左键
<Double-Button-3>   双击鼠标右键
<Triple-Button-1>   三击鼠标左键
<Triple-Button-3>   三击鼠标右键
鼠标移动事件
<B1-Motion>   鼠标左键滑动
<B2-Motion>   鼠标滚轮移动
<B3-Motion>   鼠标右键滑动

二、试验平台

windows7 , python3.7

三、鼠标点击事件示例

  1. import tkinter
  2. from tkinter import ttk
  3. def xFunc1(event):
  4. print(f"鼠标左键点击了一次坐标是:x={event.x}y={event.y}")
  5. win = tkinter.Tk()
  6. win.title("Kahn Software v1") # #窗口标题
  7. win.geometry("600x500+200+20") # #窗口位置500后面是字母x
  8. '''
  9. 鼠标点击事件
  10. <Button-1> 鼠标左键
  11. <Button-2> 鼠标中间键(滚轮)
  12. <Button-3> 鼠标右键
  13. <Double-Button-1> 双击鼠标左键
  14. <Double-Button-3> 双击鼠标右键
  15. <Triple-Button-1> 三击鼠标左键
  16. <Triple-Button-3> 三击鼠标右键
  17. '''
  18. button1 =tkinter.Button(win, text="leftmouse button")
  19. # button1 =tkinter.Label(win, text="leftmouse button") # #任何的小空间都可以绑定鼠标事件
  20. button1.bind("<Button-1>", xFunc1) # #给按钮控件绑定左键单击事件
  21. button1.pack()
  22. win.mainloop() # #窗口持久化

四、鼠标点击后移动事件

  1. import tkinter
  2. from tkinter import ttk
  3. def xFunc1(event):
  4. print(f"鼠标左键滑动坐标是:x={event.x},y={event.y}")
  5. win = tkinter.Tk()
  6. win.title("Kahn Software v1") # #窗口标题
  7. win.geometry("600x500+200+20") # #窗口位置500后面是字母x
  8. '''
  9. 鼠标移动事件
  10. <B1-Motion> 鼠标左键滑动
  11. <B2-Motion> 鼠标滚轮移动
  12. <B3-Motion> 鼠标右键滑动
  13. '''
  14. xLabel = tkinter.Label(win, text="KAHN Hello world")
  15. xLabel.pack()
  16. xLabel.bind("<B1-Motion>", xFunc1)
  17. win.mainloop() # #窗口持久化

 

六、释放鼠标按键触发

经测试,必须先点到有效区域,同时在有效区域上释放才行
  1. import tkinter
  2. from tkinter import ttk
  3. def xFunc1(event):
  4. print(f"鼠标左键释放坐标是:x={event.x},y={event.y}")
  5. win = tkinter.Tk()
  6. win.title("Kahn Software v1") # #窗口标题
  7. win.geometry("600x500+200+20") # #窗口位置500后面是字母x
  8. '''
  9. 鼠标释放事件
  10. <ButtonRelease-1> 鼠标释放左键触发(经测试,必须先点到有效区域,同时在有效区域上释放才行)
  11. <ButtonRelease-2> 释放鼠标滚轮
  12. <ButtonRelease-3> 释放鼠标右键
  13. <Enter> 鼠标进入触发事件,仅一次有效。下次光标需移出有效区域再次进入时才再次触发
  14. <Leave> 鼠标离开触发事件,离开那一刹那触发
  15. '''
  16. xLabel = tkinter.Label(win, text="KAHN Hello world")
  17. xLabel.pack()
  18. xLabel.bind("<ButtonRelease-1>", xFunc1)
  19. win.mainloop() # #窗口持久化

kahn 2019年5月1日10:44:18

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/761060
推荐阅读
相关标签
  

闽ICP备14008679号