本文主要介绍Python tkinter 几种按键事件及其示例。
目录
tkinter系列文章
Python tkinter (2) —— Button标签
Python tkinter (8) ——Spinbox控件
Python tkinter (10) ——Combobox控件
Python tkinter (11) —— Frame控件
Python tkinter (12) —— Treeview控件
按键事件
响应所有按键事件
给文本控件绑定<Key>事件后,进入窗口随便输入任何字符即可触发。
示例如下:
import tkinter
tk = tkinter.Tk()
tk.title('简单示例')
tk.geometry('300x200+200+20')
label1 = tkinter.Label(tk, text='回首向来萧瑟处,归去,也无风雨也无晴')
# 获取焦点
label1.focus_set()
label1.pack()
def common_fun(event):
print('char:', event.char)
print('keycodde:', event.keycode)
label1.bind('<Key>', common_fun)
tk.mainloop()
效果如下:
窗体绑定事件
还可以直接给窗口绑定事件,在整个窗口中敲击键盘都可触发。
示例如下:
tk = tkinter.Tk()
tk.title('简单示例')
tk.geometry('300x200+200+20')
def common_fun(event):
print('char:', event.char)
print('keycodde:', event.keycode)
tk.bind('<Key>', common_fun)
tk.mainloop()
响应特殊按键事件
当进入窗口后,按这些特殊按键时会触发事件。
示例如下:
import tkinter
tk = tkinter.Tk()
tk.title('简单示例')
tk.geometry('300x200+200+20')
label1 = tkinter.Label(tk, text='回首向来萧瑟处,归去,也无风雨也无晴')
# 获取焦点
label1.focus_set()
label1.pack()
def common_fun(event):
print('char:', event.char)
print('keycodde:', event.keycode)
# 响应特殊按键
# <F5>
# <Return> 回车
# <BackSpace> 退格
label1.bind('<Return>', common_fun)
tk.mainloop()
指定按键事件
可以绑定指定的任意字母和键盘按钮来响应事件。
示例如下:
import tkinter
tk = tkinter.Tk()
tk.title('简单示例')
tk.geometry('300x200+200+20')
def comon_fun(event):
print('char:', event.char)
print('keycodde:', event.keycode)
tk.bind('b', comon_fun)
tk.mainloop()
组合按键事件
可以设置多个按键组合后响应事件。
示例如下:
import tkinter
tk = tkinter.Tk()
tk.title('简单示例')
tk.geometry('300x200+200+20')
def zh_fun(event):
print('char:', event.char)
print('keycode:', event.keycode)
tk.bind('<Control-Alt-b>', zh_fun)
tk.mainloop()
注意:不能与原有组合按键冲突。
总结
本文主要介绍Python tkinter 几种按键事件及其示例。