python gui之tkinter事件处理
事件 | 代码 | 备注 |
鼠标左键单击按下 | 1/Button-1/ButtonPress-1 | |
鼠标左键单击松开 | ButtonRelease-1 | |
鼠标右键单击 | 3 | |
鼠标左键双击 | Double-1/Double-Button-1 | |
鼠标右键双击 | Double-3 | |
鼠标滚轮单击 | 2 | |
鼠标滚轮双击 | Double-2 | |
鼠标移动 | B1-Motion | |
鼠标移动到区域 | Enter | |
鼠标离开区域 | Leave | |
获得键盘焦点 | FocusIn | |
失去键盘焦点 | FocusOut | |
键盘事件 | Key | |
回车键 | Return | |
控件尺寸变 | Configure |
响应时间
提前响应
ttk treeview的TreeviewSelect事件是提前的,即你选中了某行,通过treeview.selection()[0]得到的就是这一样。
延后相应
比如ttk的treeview是的单击的情况,单击的行被选中了,但是通过 treeview.selection()[0]得到的却不是选中的行!而是之前选中的行。可以参考下这里。
响应函数
event_handler(event,*args)
event参数
event 参数有以下属性:
['__doc__', '__module__', 'char', 'delta', 'height', 'keycode', 'keysym', 'keysym_num', 'num', 'send_event', 'serial', 'state', 'time', 'type', 'widget', 'width', 'x', 'x_root', 'y', 'y_root']
Event Attributes
- widget
-
The widget which generated this event. This is a valid Tkinter widget instance, not a name. This attribute is set for all events.
- x, y
-
鼠标当前的相对位置,以像素为单位。
比如,ttk treeview 有个通过y坐标定位行的方法:identify_row(self, y)
- x_root, y_root
-
鼠标当前的绝对位置(相对于设备的左上角)。以像素为单位。
- char
-
字符(键盘事件中才有), 类型是字符串。
- keysym
-
The key symbol (keyboard events only).
键符(键盘事件中才有)
- keycode
-
键码 (键盘事件中才有).
- num
-
按钮号码(鼠标事件中才有)1-左键/2-中/3-右
- width, height
-
widget的新尺寸,以像素为单位(Configure events only).
- type
- 事件类型
- 1---
- 2---
- 3---
- 4---鼠标
- 更多资料参考这里。
绑定事件
控件.bind('<事件代码>',event_handler)
适用于大多数控件。此外还有bind_all方法。
控件.protocal('事件代码', event_handler)
这种情况的控件,必需是顶层窗口或者root容器。
python gui之tkinter事件处理的更多相关文章
- Python GUI with Tkinter (from youtube) 在youtube上能找到很多编程视频...
Python GUI with Tkinter - 1 - Introduction以上链接是一个python tkinter视频系列的第一讲的链接.虽然英语不好,但是,程序还是看得懂的(照着做就可以 ...
- Python GUI编程(Tkinter) windows界面开发
Python实现GUI简单的来说可以调用Tkinter库,这样一般的需求都可以实现,显示简单的windows窗口代码如下: python_gui.py 1 #!C:\Python27\python.e ...
- Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) JAVA日志的前世今生 .NET MVC采用SignalR更新在线用户数 C#多线程编程系列(五)- 使用任务并行库 C#多线程编程系列(三)- 线程同步 C#多线程编程系列(二)- 线程基础 C#多线程编程系列(一)- 简介
Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) 一.前言 由于本篇文章较长,所以下面给出内容目录方便跳转阅读,当然也可以用博客页面最右侧的文章目录导航栏进行跳转查阅. 一.前言 ...
- python GUI学习——Tkinter
支持python的常见GUI工具包: Tkinter 使用Tk平台 很容易得到 半标准 wxpython 基于wxWindows.跨平台越来越流行 Python Win 只能在Windows上使用 使 ...
- Python GUI工具Tkinter以及拖拉工具Page安装
如果使用Tkinter作为Python GUI工具,我们需要安装Tkinter,这个使用conda或者pip即可: conda install -c anaconda tk 为了提高界面编写效率,可以 ...
- Python -- Gui编程 -- Tkinter的使用 -- 基本控件
1.按钮 tkBtton.py import tkinter root = tkinter.Tk() btn1 = tkinter.Button(root, anchor=tkinter.E,\ te ...
- Python GUI编程--Tkinter
今天看到了GUI编程,书上推荐用wxPython,去官网上看了看,发现Windows的最高支持到2.7,我用的是3.4版本,咋办,用自带的库--Tkinter呗,它是Python的默认GUI库,几乎是 ...
- Python GUI之tkinter窗口视窗教程大集合(看这篇就够了)
一.前言 由于本篇文章较长,所以下面给出内容目录方便跳转阅读,当然也可以用博客页面最右侧的文章目录导航栏进行跳转查阅. 一.前言 二.Tkinter 是什么 三.Tkinter 控件详细介绍 1. T ...
- Python:GUI之tkinter学习笔记1控件的介绍及使用
相关内容: tkinter的使用 1.模块的导入 2.使用 3.控件介绍 Tk Button Label Frame Toplevel Menu Menubutton Canvas Entry Mes ...
随机推荐
- Orchard源码分析(5.1):Host初始化(DefaultOrchardHost.Initialize方法)
概述 Orchard作为一个可扩展的CMS系统,是由一系列的模块(Modules)或主题(Themes)组成,这些模块或主题统称为扩展(Extensions).在初始化或运行时需要对扩展进行安装:De ...
- PHP使用数据库的并发问题(转)
在并行系统中并发问题永远不可忽视.尽管PHP语言原生没有提供多线程机制,那并不意味着所有的操作都是线程安全的.尤其是在操作诸如订单.支付等业务系统中,更需要注意操作数据库的并发问题. 接下来我通过一个 ...
- select2搜索框查询加遍历
<div class="form-group"> <label class="control-label col-sm-1 no-padding-rig ...
- android自定义控件(5)-实现ViewPager效果
对于系统的ViewGroup我们已经是十分熟悉了,最常用的LinearLayout和RelativeLayout几乎是天天要打交道,下面我们就来看看,如何一步一步将其实现: 一.首先当然也是最通常的新 ...
- php:Header
转自鸟哥的博客: http://www.laruence.com/2007/12/16/308.html PHP header()the function declaration: void head ...
- standford工具-parser
stanford自然语言处理开源了很多工具,很实用也很方便,记录下来,以备后用. 第一篇就从句法分析开始吧(所用的平台都是java+eclipse). <一>操作 1.http://www ...
- CRect类
类CRect是对Windows结构RECT的封装,凡是能用RECT结构的地方都可以用CRect代替. 结构RECT表示一个矩形的位置和尺寸,其定义为: typedef struct tagRECT{ ...
- Eclipse 自动补全功能失效解决办法及修改快捷键方法
最近在学习Java,前段时间分盘把电脑能坏了,重装系统后发现我的Eclipse的自动补全的功能失效了,那多麻烦呀,什么都得自己打,于是百度后总结了以下解决方法: 1.点击Window-->Pre ...
- 大数据BI积累
http://blog.csdn.net/wyzxg/article/category/535869 设计论文:http://www.doc88.com/p-3877368345851.html 自动 ...
- cf319.B. Modulo Sum(dp && 鸽巢原理 && 同余模)
B. Modulo Sum time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...