13,python中tkinter模块里的按键事件

1,按键触发事件通常都与图像处理相结合起来:
下面是一些常见的属性:
13,python中tkinter模块里的按键事件_第1张图片
13,python中tkinter模块里的按键事件_第2张图片
13,python中tkinter模块里的按键事件_第3张图片

from tkinter import *
win=Tk()
win.title('键盘事件')
txt=StringVar()#元组类
def key_action(event):
    print("pressed",repr(event.char))#按下时打印在工作台
    s=event.char
    txt.set(s)#按下的字母记录到txt上

def callback(event):
    L.focus_set()#把键盘焦点设置到文本上

L=Label(win,width=20,textvariable=txt,bg='cyan')#按下后显示在lable上
L.bind("",key_action)
L.bind("",callback)#鼠标点下将回调回来到我点的地方
L.pack()

win.mainloop()

运行效果:
13,python中tkinter模块里的按键事件_第4张图片
一个关于按键的小练习:

import tkinter
import time
from tkinter import *
#1,定义窗口
win=tkinter.Tk()
win.title("键盘移动矩形案例")
win.geometry('500x500')
#2,设置画布
canvas=Canvas(win,width=400,height=400,bg='green')
canvas.pack()
#3,定义矩形
x=180
y=180
rect=canvas.create_rectangle(x,y,x+30,y+30,fill='red')#形状一开始会被创建在什么地方
print(rect)
#4,定义移动函数
def moveRect(event):
    if event.keysym=='Up':#当你按下向上键的事件时
        canvas.move(rect,0,-5)#对于rect这个东西来说,x轴方向不变,y轴向上走5
    elif event.keysym=='Down':
        canvas.move(rect,0,5)
    elif event.keysym=='Left':
        canvas.move(rect,-5,0)
    elif event.keysym=='Right':
        canvas.move(rect,5,0)
    win.update()#刷新页面
    time.sleep(0.05)
#5,方向键控制方块移动
canvas.bind_all('',moveRect)#两个参数为:传进来一个事件,一个触发事件后的函数
canvas.bind_all('',moveRect)
canvas.bind_all('',moveRect)
canvas.bind_all('',moveRect)

win.mainloop()

运行效果:
13,python中tkinter模块里的按键事件_第5张图片

13,python中tkinter模块里的按键事件_第6张图片

你可能感兴趣的:(python基础知识,python,KeyPress,按键捕捉事件,贪吃蛇灵感,tkinter模块按键)