python对绑定事件的鼠标、按键的判断

来源:互联网 发布:最近好听的网络歌 编辑:程序博客网 时间:2024/05/18 01:37

当多个事件绑定了同一个命令,那么在命令内部根据不同的事件进行处理的时候,怎么确定哪个事件发生了呢,用下面的来检测,经过测试处理tab键和alt键不能识别,其他单个都能被识别。

还有个事件的type属性,这个经过测试键盘事件返回字符2,鼠标返回字符2,可以根据这个再进行判断反会的是键盘事件还是鼠标事件。

# <Button-1>:鼠标左击事件# <Button-2>:鼠标中击事件# <Button-3>:鼠标右击事件# <Double-Button-1>:双击事件# <Triple-Button-1>:三击事件from tkinter import *tk = Tk()canvas = Canvas(width=500,height=500)canvas.pack()#canvas.create_polygon(0,0,250,250,fill = 'red')def echo_event(evt):    #打印键盘事件    if evt.type == "2":        print("键盘:%s" % evt.keysym)    #打印鼠标操作    if evt.type == "4":        print("鼠标: %s" % evt.num)    #    print(evt.type)#键盘事件canvas.bind_all("<KeyPress>",echo_event)#如果绑定指定的键盘,则"<Key>" 或者"<KeyPress>"都可以,具体到指定键的话后面加入下划线和指定的键就好了,如:绑定小写字母t和Left键canvas.bind_all("<KeyPress-t>",echo_event)canvas.bind_all("<KeyPress-Left>",echo_event)#鼠标事件canvas.bind_all("<Double-Button-1>",echo_event)canvas.bind_all("<Button-1>",echo_event)canvas.bind_all("<Button-2>",echo_event)canvas.bind_all("<Button-3>",echo_event)
1 0
原创粉丝点击