栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

1,按键触发事件通常都与图像处理相结合起来:
下面是一些常见的属性:


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()

运行效果:

一个关于按键的小练习:

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()

运行效果:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/293865.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号