Tkinter的事件绑定
Tkinter提供一个强大的机制可以让你自由地处理事件,对于每个组件来说,可以通过bind()方法将函数或者方法绑定到具体的事件上,当被触发的事件满足该事件绑定的事件时,Tkinter就会带着事件描述去调用handler()方法。
例子一:捕获鼠标单击时的位置
# 捕获点击鼠标的位置
from tkinter import *root = Tk()def callback(event):print("点击位置:", event.x, event.y)frame = Frame(root, width=200, height=200)
frame.bind("<Button-1>", callback)
frame.pack()mainloop()
使用Frame组件的bind()方法将鼠标单击事件<Button-1>和自定义的callback()方法绑定起来。
例子二:捕获键盘事件
# 捕获键盘事件
from tkinter import *root = Tk()def callback(event):print("敲击位置:", repr(event.char))frame = Frame(root, width=200, height=200)
frame.bind("<Key>", callback)
frame.focus_set()
frame.pack()mainloop()
只有当组件获得焦点的时候才能接收键盘事件Key,使用focus_set()获得焦点。
例子三:捕获鼠标在组件上的运动轨迹
from tkinter import *root = Tk()def callback(event):print("当前位置:", event.x, event.y)frame = Frame(root, width=200, height=200)
frame.bind("<Motion>", callback)
frame.pack()mainloop()
这里需要关注的是<Motion事件>
Tkinter的事件绑定相关推荐
- python tkinter教程 博客园_python tkinter教程-事件绑定
一个Tkinter主要跑在mainloop进程里.Events可能来自多个地方,比如按键,鼠标,或是系统事件. Tkinter提供了丰富的方法来处理这些事件.对于每一个控件Widget,你都可以为其绑 ...
- python tkinter listbox_python tkinter listbox事件绑定
我很难让事件绑定与python/tkinter一起工作.我只是试图点击并打印位置,但每次我这样做,"-1"是结果. 这是我的密码from Tkinter import * impo ...
- tkinter之事件绑定
转载于:https://www.cnblogs.com/wumac/p/6673563.html
- tkinter事件绑定方法总结
1. 方法总结 tkinter中事件绑定方法可以分为两大类: 组件对象的绑定,包含2种方法: 通过command属性绑定,适合简单不需要获取event对象的情况, 例如:Button(root,tex ...
- [译][Tkinter 教程15] event 事件绑定
已获原作者授权. 原系列地址: Python Tkinter 简介 一个 Tkinter 应用生命周期中的大部分时间都处在一个消息循环 (event loop) 中. 它等待事件的发生: 事件可能是 ...
- Tkinter - events and bindings事件绑定
事件绑定 一个 Tkinter 应用程序大部分时间花费在事件循环中(通过 mainloop() 方法进入).事件可以有各种来源:包括用户触发的鼠标和键盘操作和窗口管理器触发的重绘事件(在多数情况下是由 ...
- 【新手向】Python做一个简易登录注册GUI界面(无事件绑定)
Python做一个简易登录注册GUI界面 一,效果展示 (1)运行结果: (2)点击登录: 注:只有用户名:123 密码123456 会提示登录成功. 登录成功示范: 登录失败示范: (3)点击注册 ...
- tkinter滚动事件详解
引言 在tkinter中,由<Mousewheel>提供绑定信息. 但是同其它绑定事件一样,滚动事件同样提供的event参数返回值,也拥有特殊的属性,比如send_event,delta, ...
- python图形界面化编程GUI(三)事件绑定(鼠标和键盘、OptionMenu、scale、颜色、文件对话框、菜单和工具栏、ttk子模块)
常用组件汇总 Tkinter类 名称 简介 Toplevel 顶层 容器类,可用于为其他组件提供单独的容器,类似于窗口 Button 按钮 代表按钮组件 Canvas 画布 提供绘图功能,包括直线.矩 ...
最新文章
- [世界杯]世界杯的哲学思想
- 【postgresql初始化失败】initdb: invalid locale settings; check LANG and LC_* environment variables
- Java爬取并下载酷狗音乐
- PLSQL登录报错ORA-12154
- BZOJ 1001 狼捉兔子
- tensorflow打印模型结构_钢结构模型3D打印与有限元网格的融合方法
- 当大数据遇上“智慧园区”会怎样?
- SpringBoot项目请求路径中有正反斜杠的处理办法
- mac下flink的wordcount案例
- iOS11 tableview左滑到底禁用删除
- 数据分析五板斧与里面的屠龙刀(下)
- 人体姿态识别 tensorflow版本
- bat的errorlevel || bat判断语句是否执行成功
- stn算子_STN 口袋指南
- 为什么计算机是32位64位,64位是x86还是x64_为什么64位是X64,32位是X86?
- Unity3D内置Shader私房课(三)Decal贴花
- 51单片机LCD1602显示电子时钟 带按键设置和星期显示
- 哈夫曼树的创建和哈夫曼树编码及解码
- 如何在Outlook 2019/Office 365中运行VBA脚本邮件规则
- AI正在把超声波装进你的智能手机 及时筛查人体健康问题
热门文章
- BigDecimal运算的工具类
- idea中修改项目代码后,Git没有提示代码有改动(解决办法)
- python 正方形去畸变_opencv 角点检测+相机标定+去畸变+重投影误差计算
- android中view刷新界面,Android view invalidate()使用
- es6删除数组某一项_javascript基础系列:数组常用方法解析
- 台式无线网卡管理服务器,台式电脑设置wifi上网
- python可以调试吗_调试-有什么好的方法可以使我的Python代码首次运行?
- python在办公上的应用_Python 应用 办公自动化之 Excel(上)
- 山体等高线怎么看_怎么判断牙龈已经萎缩?
- linux awk 教程,AWK简单使用方法