'''Tkinter教程之Event篇(1)'''

''' Tkinter教程之Event篇(1) '''
#  事件的使用方法
''' 1.测试鼠标点击(Click)事件 '''
#  -*- coding: cp936 -*-
#
 <Button-1>:鼠标左击事件
#
 <Button-2>:鼠标中击事件
#
 <Button-3>:鼠标右击事件
#
 <Double-Button-1>:双击事件
#
 <Triple-Button-1>:三击事件
from  Tkinter  import   *
root 
=  Tk()
def  printCoords(event):
    
print  event.x,event.y
#  创建第一个Button,并将它与左键事件绑定
bt1  =  Button(root,text  =   ' leftmost button ' )
bt1.bind(
' <Button-1> ' ,printCoords)

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

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

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

#  创建第五个Button,并将它与三击事件绑定
bt5  =  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)表示当前点击的坐标值
''' 2.测试鼠标的移动(Motion)事件 '''
#  -*- coding: cp936 -*-
#
 <Bx-Motion>:鼠标移动事件,x=[1,2,3]分别表示左、中、右鼠标操作。
from  Tkinter  import   *
root 
=  Tk()
def  printCoords(event):
    
print  event.x,event.y
#  创建第一个Button,并将它与左键移动事件绑定
bt1  =  Button(root,text  =   ' leftmost button ' )
bt1.bind(
' <B1-Motion> ' ,printCoords)

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

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


bt1.grid()
bt2.grid()
bt3.grid()

root.mainloop()
#  分别测试鼠标的移动事件,只有当鼠标被按下后移动才回产生事件
''' 3.测试鼠标的释放(Relase)事件 '''
#  -*- coding: cp936 -*-
#
 <ButtonRelease-x>鼠标释放事件,x=[1,2,3],分别表示鼠标的左、中、右键操作
from  Tkinter  import   *
root 
=  Tk()
def  printCoords(event):
    
print  event.x,event.y
#  创建第一个Button,并将它与左键释放事件绑定
bt1  =  Button(root,text  =   ' leftmost button ' )
bt1.bind(
' <ButtonRelease-1> ' ,printCoords)

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

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


bt1.grid()
bt2.grid()
bt3.grid()

root.mainloop()
#  分别测试鼠标的Relase事件,只有当鼠标被Relase后移动才回产生Relase事件
''' 4.进入(Enter)事件 '''
#  -*- coding: cp936 -*-
#
 <Enter>:鼠标释放事件
from  Tkinter  import   *
root 
=  Tk()
def  printCoords(event):
    
print  event.x,event.y
#  创建第一个Button,并将它与Enter事件绑定
bt1  =  Button(root,text  =   ' leftmost button ' )
bt1.bind(
' <Enter> ' ,printCoords)

bt1.grid()

root.mainloop()
#  分别测试Enter事件,只是在第一次进入进回产生事件,在组件中移动不会产生Enter事件。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值