Python tkinter (14) —— 按键事件

news2024/9/23 1:30:30

本文主要介绍Python tkinter 几种按键事件及其示例。

目录

按键事件

响应所有按键事件

窗体绑定事件

响应特殊按键事件

指定按键事件

组合按键事件

总结


tkinter系列文章

python tkinter窗口简单实现

Python tkinter (1) —— Label标签

Python tkinter (2) —— Button标签

Python tkinter (3) —— Entry标签

Python tkinter (4) —— Text控件

Python tkinter (5) 选项按钮与复选框

Python tkinter (6) ——Listbox

Python tkinter (8) ——Spinbox控件

Python tkinter (9) ——Menu控件

Python tkinter (10) ——Combobox控件

Python tkinter (11) —— Frame控件

Python tkinter (12) —— Treeview控件

Python tkinter (13) —— 事件

按键事件

响应所有按键事件

给文本控件绑定<Key>事件后,进入窗口随便输入任何字符即可触发。

示例如下:

import tkinter

tk = tkinter.Tk()
tk.title('简单示例')
tk.geometry('300x200+200+20')

label1 = tkinter.Label(tk, text='回首向来萧瑟处,归去,也无风雨也无晴')
# 获取焦点
label1.focus_set()

label1.pack()


def common_fun(event):
    print('char:', event.char)
    print('keycodde:', event.keycode)


label1.bind('<Key>', common_fun)
tk.mainloop()

效果如下:

窗体绑定事件

还可以直接给窗口绑定事件,在整个窗口中敲击键盘都可触发。

示例如下:

tk = tkinter.Tk()
tk.title('简单示例')
tk.geometry('300x200+200+20')
def common_fun(event):
    print('char:', event.char)
    print('keycodde:', event.keycode)

tk.bind('<Key>', common_fun)
tk.mainloop()

响应特殊按键事件

当进入窗口后,按这些特殊按键时会触发事件。

示例如下:

import tkinter

tk = tkinter.Tk()
tk.title('简单示例')
tk.geometry('300x200+200+20')

label1 = tkinter.Label(tk, text='回首向来萧瑟处,归去,也无风雨也无晴')
# 获取焦点
label1.focus_set()

label1.pack()


def common_fun(event):
    print('char:', event.char)
    print('keycodde:', event.keycode)


# 响应特殊按键
# <F5>
# <Return> 回车
# <BackSpace> 退格
label1.bind('<Return>', common_fun)

tk.mainloop()

指定按键事件

可以绑定指定的任意字母和键盘按钮来响应事件。

示例如下:

import tkinter

tk = tkinter.Tk()
tk.title('简单示例')
tk.geometry('300x200+200+20')


def comon_fun(event):
    print('char:', event.char)
    print('keycodde:', event.keycode)


tk.bind('b', comon_fun)
tk.mainloop()

组合按键事件

可以设置多个按键组合后响应事件。

示例如下:

import tkinter

tk = tkinter.Tk()
tk.title('简单示例')
tk.geometry('300x200+200+20')


def zh_fun(event):
    print('char:', event.char)
    print('keycode:', event.keycode)


tk.bind('<Control-Alt-b>', zh_fun)
tk.mainloop()

注意:不能与原有组合按键冲突。

总结

本文主要介绍Python tkinter 几种按键事件及其示例。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1430998.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IP 了解

参考&#xff1a;5.1 IP 基础知识全家桶 | 小林coding IP 在 TCP/IP 参考模型中处于第三层&#xff0c;也就是网络层。 网络层的主要作用是&#xff1a;实现主机与主机之间的通信&#xff0c;也叫点对点&#xff08;end to end&#xff09;通信。 什么是 IP 地址&#xff1f…

大创项目推荐 题目:基于深度学习的人脸表情识别 - 卷积神经网络 大创项目推荐 代码

文章目录 0 简介1 项目说明2 数据集介绍&#xff1a;3 思路分析及代码实现3.1 数据可视化3.2 数据分离3.3 数据可视化3.4 在pytorch下创建数据集3.4.1 创建data-label对照表3.4.2 重写Dataset类3.4.3 数据集的使用 4 网络模型搭建4.1 训练模型4.2 模型的保存与加载 5 相关源码6…

apipost 简单的性能压测总结

1、简单的使用机型牌评估 1&#xff09;jdk默认256M给100用&#xff0c;推荐给1000人同时用JVM 堆栈建议2G~4G&#xff08;目前定了机型4核8G内存 2T磁盘做radio0存储&#xff09;&#xff1b; 2&#xff09;数据库配置文件写了占了2G内存&#xff08;my.cnf文件&#xff09…

2024/1/30 dfs与bfs

想要了解dfs与bfs&#xff0c;就得了解队列和栈。 一、栈与队列 1.栈 栈说白了就是先入后出。把栈类比为一个容器。只有一个口&#xff0c;所以如果我们想要取出最底层也就是最先放入的元素&#xff0c;只能最后取出它。 栈基础操作有如下几种&#xff1a; push 放入pop 拿…

车载以太网:PHY(物理层)介绍

0 工具准备 TJA1101B芯片手册 TJA1101B automotive Ethernet PHY手册 IEEE802.3-2018.pdf 1 车载以太网PHY&#xff08;物理层&#xff09;介绍 常见的普通以太网分为10BASE-2、10/100BASE-TX和1000BASE-T&#xff0c;一般都使用RJ45接口&#xff0c;对于1000BASE-T来说&#…

LabVIEW风力发电机在线监测

LabVIEW风力发电机在线监测 随着可再生能源的发展&#xff0c;风力发电成为越来越重要的能源形式。设计了一个基于控制器局域网&#xff08;CAN&#xff09;总线和LabVIEW的风力发电机在线监测系统&#xff0c;实现风力发电机的实时监控和故障诊断&#xff0c;以提高风力发电的…

Python使用zdppy_es国产框架操作Elasticsearch实现增删改查

Python使用zdppy_es国产框架操作Elasticsearch实现增删改查 本套教程配套有录播课程和私教课程,欢迎私信我。 Docker部署ElasticSearch7 创建基本容器 docker run -itd --name elasticsearch -p 9200:9200 -e "discovery.type=single-node" -e ES_JAVA_OPTS=&quo…

上位机图像处理和嵌入式模块部署(linux开发板的选择)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 很多图像算法是通过上位机来完成的&#xff0c;比如说工业视觉当中的halcon&#xff0c;一般都是要运行在windows平台上面&#xff0c;并且需要高性…

Blender教程(基础)-面的填充-13

一、准备 新建一个立方&#xff0c;删除其中一个面。 二、三角面填充 首先是编辑模式下&#xff0c;选择需要填充的所有边。 鼠标右键弹出填充 填充完是以三角面的形式填充的 编辑模式下&#xff0c;面选择模式&#xff0c;选择刚才填充的两个三角面&#xff0c;然后右键…

谈谈BlueStore

目录 未完待续前言组成前期准备工作基础概念对象PextentextentBlobNode 线程事务磁盘的抽象与分配位图法分层位图 上电流程写流程读流程参考资料 未完待续 前言 BlueStore是什么&#xff1f; Ceph是一个统一的分布式存储系统。BlueStore是Ceph的存储引擎。 它的作用是什么&am…

STM32标准库——(10)ADC模数转换器

1.ADC简介 12位ADC是一种逐次逼近型模拟数字转换器。它有多达18个通道&#xff0c;可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。 模拟看门狗特性允许应用程序检测输入电压是…

[机器学习]LFM梯度下降算法

一.LFM梯度下降算法 2.代码实现 # 0. 引入依赖 import numpy as np import pandas as pd# 1. 数据准备 # 评分矩阵R R np.array([[4,0,2,0,1],[0,2,3,0,0],[1,0,2,4,0],[5,0,0,3,1],[0,0,1,5,1],[0,3,2,4,1],]) # 0分表示还未进行评价 # 二维数组小技巧&#xff1a;取行数R.s…

云端录制直播流视频,上传云盘

前言 哪一天我心血来潮&#xff0c;想把我儿子学校的摄像头视频流录制下来&#xff0c;并保存到云盘上&#xff0c;这样我就可以在有空的时候看看我儿子在学校干嘛。想到么就干&#xff0c;当时花了一些时间开发了一个后端服务&#xff0c;通过数据库配置录制参数&#xff0c;…

JavaScript鼠标拖放(Drag and Drop)

&#x1f9d1;‍&#x1f393; 个人主页&#xff1a;《爱蹦跶的大A阿》 &#x1f525;当前正在更新专栏&#xff1a;《VUE》 、《JavaScript保姆级教程》、《krpano》、《krpano中文文档》 ​ ​ ✨ 前言 拖放是现代界面不可或缺的交互方式之一。本文将介绍如何用JavaScript…

Redis核心技术与实战【学习笔记】 - 19.Pika:基于SSD实现大容量“Redis”

前言 随着业务数据的增加&#xff08;比如电商业务中&#xff0c;随着用户规模和商品数量的增加&#xff09;&#xff0c;就需要 Redis 能保存更多的数据。你可能会想到使用 Redis 切片集群&#xff0c;把数据分散保存到不同的实例上。但是这样做的话&#xff0c;如果要保存的…

C# 程序不显示控制台

C# 程序不显示控制台。 C# 使用代码隐藏控制台。 文章目录 代码效果 代码 class Program {// 导入kernel32.dll库中的AllocConsole函数[DllImport("kernel32.dll")]static extern bool AllocConsole();// 导入kernel32.dll库中的FreeConsole函数[DllImport("k…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Menu组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之Menu组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、Menu组件 TextClock组件通过文本将当前系统时间显示在设备上。支持不同时区的时间…

Mysql运维篇(四) MySQL常用命令

一路走来&#xff0c;所有遇到的人&#xff0c;帮助过我的、伤害过我的都是朋友&#xff0c;没有一个是敌人。如有侵权&#xff0c;请留言&#xff0c;我及时删除&#xff01; 一、MySQL命令速查表 https://www.cnblogs.com/pyng/p/15560059.html Mysql DBA运维命令大全 - 墨…

记录Git无法连接Github(443报错)的一种可能——代理问题

参考文章&#xff1a; Git安装配置与使用&#xff08;超级详细&#xff09;_git配置-CSDN博客 github代理报错_valueerror: unable to determine socks version from-CSDN博客 速通 如果在使用 git 时遇到了这样的报错&#xff1a; OpenSSL SSL_connect: SSL_ERROR_SYSCAL…