本文主要介绍Python tkinter 几种按键事件及其示例。
目录
按键事件
响应所有按键事件
窗体绑定事件
响应特殊按键事件
指定按键事件
组合按键事件
总结
tkinter系列文章
python tkinter窗口简单实现
Python tkinter (1) —— Label标签
Python tkinter (2) —— Button标签
Python tkinter (3) —— Entry标签
Python tkinter (4) —— Text控件
Python tkinter (5) 选项按钮与复选框
Python tkinter (6) ——Listbox
Python tkinter (8) ——Spinbox控件
Python tkinter (9) ——Menu控件
Python tkinter (10) ——Combobox控件
Python tkinter (11) —— Frame控件
Python tkinter (12) —— Treeview控件
Python tkinter (13) —— 事件
按键事件
响应所有按键事件
给文本控件绑定<Key>事件后,进入窗口随便输入任何字符即可触发。
示例如下:
import tkintertk = 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 tkintertk = 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 tkintertk = 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 tkintertk = 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 几种按键事件及其示例。