本帖最后由 paypojie 于 2023-1-1 17:22 编辑
效果图
上面的图是在按下键盘左边的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事件处理 元旦快乐!祝坛友新年快乐,万事如意!
|