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的事件绑定相关推荐

  1. python tkinter教程 博客园_python tkinter教程-事件绑定

    一个Tkinter主要跑在mainloop进程里.Events可能来自多个地方,比如按键,鼠标,或是系统事件. Tkinter提供了丰富的方法来处理这些事件.对于每一个控件Widget,你都可以为其绑 ...

  2. python tkinter listbox_python tkinter listbox事件绑定

    我很难让事件绑定与python/tkinter一起工作.我只是试图点击并打印位置,但每次我这样做,"-1"是结果. 这是我的密码from Tkinter import * impo ...

  3. tkinter之事件绑定

    转载于:https://www.cnblogs.com/wumac/p/6673563.html

  4. tkinter事件绑定方法总结

    1. 方法总结 tkinter中事件绑定方法可以分为两大类: 组件对象的绑定,包含2种方法: 通过command属性绑定,适合简单不需要获取event对象的情况, 例如:Button(root,tex ...

  5. [译][Tkinter 教程15] event 事件绑定

    已获原作者授权. 原系列地址: Python Tkinter 简介 一个 Tkinter 应用生命周期中的大部分时间都处在一个消息循环 (event loop) 中. 它等待事件的发生: 事件可能是 ...

  6. Tkinter - events and bindings事件绑定

    事件绑定 一个 Tkinter 应用程序大部分时间花费在事件循环中(通过 mainloop() 方法进入).事件可以有各种来源:包括用户触发的鼠标和键盘操作和窗口管理器触发的重绘事件(在多数情况下是由 ...

  7. 【新手向】Python做一个简易登录注册GUI界面(无事件绑定)

    Python做一个简易登录注册GUI界面 一,效果展示 (1)运行结果: (2)点击登录: 注:只有用户名:123 密码123456 会提示登录成功. 登录成功示范: 登录失败示范: (3)点击注册 ...

  8. tkinter滚动事件详解

    引言 在tkinter中,由<Mousewheel>提供绑定信息. 但是同其它绑定事件一样,滚动事件同样提供的event参数返回值,也拥有特殊的属性,比如send_event,delta, ...

  9. python图形界面化编程GUI(三)事件绑定(鼠标和键盘、OptionMenu、scale、颜色、文件对话框、菜单和工具栏、ttk子模块)

    常用组件汇总 Tkinter类 名称 简介 Toplevel 顶层 容器类,可用于为其他组件提供单独的容器,类似于窗口 Button 按钮 代表按钮组件 Canvas 画布 提供绘图功能,包括直线.矩 ...

最新文章

  1. [世界杯]世界杯的哲学思想
  2. 【postgresql初始化失败】initdb: invalid locale settings; check LANG and LC_* environment variables
  3. Java爬取并下载酷狗音乐
  4. PLSQL登录报错ORA-12154
  5. BZOJ 1001 狼捉兔子
  6. tensorflow打印模型结构_钢结构模型3D打印与有限元网格的融合方法
  7. 当大数据遇上“智慧园区”会怎样?
  8. SpringBoot项目请求路径中有正反斜杠的处理办法
  9. mac下flink的wordcount案例
  10. iOS11 tableview左滑到底禁用删除
  11. 数据分析五板斧与里面的屠龙刀(下)
  12. 人体姿态识别 tensorflow版本
  13. bat的errorlevel || bat判断语句是否执行成功
  14. stn算子_STN 口袋指南
  15. 为什么计算机是32位64位,64位是x86还是x64_为什么64位是X64,32位是X86?
  16. Unity3D内置Shader私房课(三)Decal贴花
  17. 51单片机LCD1602显示电子时钟 带按键设置和星期显示
  18. 哈夫曼树的创建和哈夫曼树编码及解码
  19. 如何在Outlook 2019/Office 365中运行VBA脚本邮件规则
  20. AI正在把超声波装进你的智能手机 及时筛查人体健康问题

热门文章

  1. BigDecimal运算的工具类
  2. idea中修改项目代码后,Git没有提示代码有改动(解决办法)
  3. python 正方形去畸变_opencv 角点检测+相机标定+去畸变+重投影误差计算
  4. android中view刷新界面,Android view invalidate()使用
  5. es6删除数组某一项_javascript基础系列:数组常用方法解析
  6. 台式无线网卡管理服务器,台式电脑设置wifi上网
  7. python可以调试吗_调试-有什么好的方法可以使我的Python代码首次运行?
  8. python在办公上的应用_Python 应用 办公自动化之 Excel(上)
  9. 山体等高线怎么看_怎么判断牙龈已经萎缩?
  10. linux awk 教程,AWK简单使用方法