Python TK和Tkinter的GUI编程(9) Event 键盘鼠标事件

作者:J.sky · 发表于:
2017-09-28T13:33:43.000000Z
· 更新于:
2023-08-13T22:54:33.234776Z
· Tag: Python GUI

Event鼠标事件

  • :鼠标左击事件
  • :鼠标右击事件
  • :鼠标中击事件
  • :双击事件
  • :三击事件
  • :鼠标移动事件,x=[1,2,3]分别表示左、中、右鼠标操作。
  • 鼠标释放事件,x=[1,2,3],分别表示鼠标的左、中、右键操作
  • :鼠标离开时产生此事件

Event键盘事件

bing和事件函数来触发,其中Key 可以换成对应的键值,也可以是组合键。

程序事件

程序退出root.protocol('WM_DELETE_WINDOW', printProtocol)

源码



import tkinter as tk

root = tk.Tk()

###################################
# 鼠标事件
###################################
def printroot(event):
    print(event.x,event.y)

bt = tk.Button(root, text=":双击事件 ")
bt1 = tk.Button(root, text=":三击事件  ")
bt2 = tk.Button(root, text=":鼠标离开时产生此事件")
bt3 = tk.Button(root, text=":鼠标左击事件")
bt4 = tk.Button(root, text=":鼠标右击事件")
bt5 = tk.Button(root, text=":鼠标中击事件")
bt6 = tk.Button(root, text=":鼠标移动事件,x=[1,2,3]分别表示左、右、中鼠标操作。  ")
bt7 = tk.Button(root, text="鼠标释放事件,x=[1,2,3],分别表示鼠标的左、右、中键操作  ")
bt.grid()
bt1.grid()
bt2.grid()
bt3.grid()
bt4.grid()
bt5.grid()
bt6.grid()
bt7.grid()
bt.bind("",printroot)
bt1.bind("",printroot)
bt2.bind("",printroot)
bt3.bind("",printroot)
bt4.bind("",printroot)
bt5.bind("",printroot)
bt6.bind("",printroot)
bt7.bind("",printroot)


###################################
# 键盘事件
###################################
def printkey(event):
    print("event.char = " + event.char)
    print('event.keycode = ', event.keycode)  


root.bind("",printkey)
root.bind("",printkey)
root.bind("",printkey)
root.bind("",printkey)


###################################
# 程序退出
###################################
def printProtocol():  
    print('WM_DELETE_WINDOW')  
    root.destroy() 

root.protocol('WM_DELETE_WINDOW', printProtocol)  
root.mainloop()

相关参考

本文源码下载: