吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1936|回复: 15
收起左侧

[学习记录] 敲击键盘按键然后显示按键名的程序

[复制链接]
甜萝 发表于 2023-1-1 17:13
本帖最后由 paypojie 于 2023-1-1 17:22 编辑

效果图

image.png

image.png

上面的图是在按下键盘左边的Alt键时 显示的内容 Alt_L表示键盘左边的Alt键 当按下键盘上面的按键时 会显示对应按键的按键名 (请在英文输入法的状态下使用)

源代码
[Python] 纯文本查看 复制代码
# Tkinter event事件处理
# 事件处理是GUI程序不可或缺的重要组成部分 相比来说 控件是组成一台机器的零部件 而事件处理则是驱动这台机器运转的关键所在 
# 事件处理是GUI程序的灵魂 我们将用户对软件的操作统称为事件处理 比方说鼠标点击 窗口输入文本 这些事件触发都有一个共同的特点 都是由用户直接或者间接触发的

# 事件绑定方法 
# Tkinter的事件处理机制为控件的绑定提供了事件与事件函数(回调函数callback)语法如下
# weiget.bind('<event>',func)
# weiget意思是控件的实例对象 之后 用bind()方法为控件绑定事件类型与事件函数 bind()函数传入两个参数 第一个是字符串参数event 然后用尖括号包裹 func是事件处理函数

# event事件对象
# 当用户触发事件对象时 Tkinter会自动将事件对象交给函数处理

from tkinter import *

# 创建一个窗口
window = Tk()

# 设置窗口标题
window.title("事件处理")
# 设置窗口大小
window.geometry('400x300+300+200')

# 定义一个事件函数 必须用event参数
def show_key(event):
    # keysym 按键名
    s = event.keysym
    # 在标签上显示按键名
    lb.config(text=s)

# 创建一个Label控件
lb = Label(width=10,background='black',text='按下任意键',font=('微软雅黑','18','bold'),fg='blue')
lb.pack()

# 对label标签控件用bind()方法 完成事件对象的绑定
lb.bind('<Key>',show_key)

lb.focus_set()
# 显示窗口
window.mainloop()

# 上述代码使用 tkinter 库创建一个简单的GUI程序 该程序包含一个标签控件 当用户按下键盘上的任意键时 标签控件上会显示触发事件的按键 
# 具体来说 这个程序首先创建了一个窗口 然后创建了一个标签控件 lb 接着 该程序使用 bind() 方法绑定了一个事件处理函数 show_key 到 lb 按钮上 当用户按下任意键时 
# 就会触发事件处理函数的执行 在show_key函数内 使用 event.keysym 查看触发事件的按键 然后使用lb.config方法将其显示在按钮控件上 最后 调用 mainloop 方法显示窗口 

学习思路及仿照来源  Tkinter Event事件处理     元旦快乐!祝坛友新年快乐,万事如意!



免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
185 + 1 + 1 热心回复!
yjn866y + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

yooyooyooyoo 发表于 2023-1-1 17:54
学习学习
 楼主| 甜萝 发表于 2023-1-1 17:55
15231616060 发表于 2023-1-1 19:16
 楼主| 甜萝 发表于 2023-1-1 19:32

学吧学吧
ok667 发表于 2023-1-1 20:44
元旦快乐!
 楼主| 甜萝 发表于 2023-1-1 20:53

元旦快乐 (*^▽^*)
dujiu3611 发表于 2023-1-1 23:49
对比着学习看看效果,记忆深,感谢分享
yjn866y 发表于 2023-1-2 08:32
做个好学习的小白
apull 发表于 2023-1-2 10:04
学习学习
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 01:27

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表