Python笔记之Tkinter(Key键盘事件)

一、目标

学习Tkinter制作窗体软件的基础,触发键盘事件。

响应特殊按键事件
<Shift_L>     左shift按键响应
<Shift_R>     右shift按键响应
<F2>          F2按键相应,F3,F4.....
<Return>      回车按键相应
<BackSpace>   退格删除键相应

二、试验平台

windows7 , python3.7

三、直接上代码

import tkinter
from tkinter import ttk


def xFunc1(event):
    print(f"事件触发键盘输入:{event.char},对应的ASCII码:{event.keycode}")


win = tkinter.Tk()
win.title("Kahn Software v1")    # #窗口标题
win.geometry("600x500+200+20")   # #窗口位置500后面是字母x
'''
响应所有事件(键盘)
<Key>   所有键盘按键会触发

'''
xLabel = tkinter.Label(win, text="KAHN Hello world")
xLabel.focus_set()
xLabel.pack()
xLabel.bind("<Key>", xFunc1)

win.mainloop()   # #窗口持久化

测试方法:运行程序,敲击键盘任意按键都会触发

上面是给一个小空间绑定焦点事件,然后触发全键盘点击

四、全程序窗体绑定键盘事件

import tkinter
from tkinter import ttk


def xFunc1(event):
    print(f"事件触发键盘输入:{event.char},对应的ASCII码:{event.keycode}")


win = tkinter.Tk()
win.title("Kahn Software v1")    # #窗口标题
win.geometry("600x500+200+20")   # #窗口位置500后面是字母x
'''
响应所有事件(键盘)
<Key>   所有键盘按键会触发

'''

win.bind("<Key>", xFunc1)

win.mainloop()   # #窗口持久化

五、特殊按键响应事件

扫描二维码关注公众号,回复: 6753861 查看本文章
import tkinter
from tkinter import ttk


def xFunc1(event):
    print(f"特殊按键触发:{event.char},对应的ASCII码:{event.keycode}")


win = tkinter.Tk()
win.title("Kahn Software v1")    # #窗口标题
win.geometry("600x500+200+20")   # #窗口位置500后面是字母x
'''
响应特殊按键事件
<Shift_L>     左shift按键响应
<Shift_R>     右shift按键响应
<F2>          F2按键相应,F3,F4.....
<Return>      回车按键相应
<BackSpace>   退格删除键相应
a    指定按键盘a键触发
x    指定按键盘x键触发
'''

win.bind("<BackSpace>", xFunc1)
# win.bind("a", xFunc1)
# win.bind("x", xFunc1)

win.mainloop()   # #窗口持久化

六、组合按键触发事件

import tkinter
from tkinter import ttk


def xFunc1(event):
    print(f"组合按键触发:{event.char},对应的ASCII码:{event.keycode}")


win = tkinter.Tk()
win.title("Kahn Software v1")    # #窗口标题
win.geometry("600x500+200+20")   # #窗口位置500后面是字母x
'''
组合按键事件
<Control-Alt-x>     按住键盘Ctrl + Alt + x 按键触发事件
<Shift-Up>          按住Shift + 光标上键 触发事件
<Control-p>         按住Ctrl + p 触发事件
'''

# win.bind("<Control-Alt-t>", xFunc1)
win.bind("<Control-p>", xFunc1)
# win.bind("<Control-Alt-x>", xFunc1)

win.mainloop()   # #窗口持久化

五一假开始了

kahn,2019年5月1日11:26:41

猜你喜欢

转载自blog.csdn.net/xoofly/article/details/89736152