python_tkinter事件类型详情


Posted in Python onMarch 20, 2022

1.事件绑定函数

事件绑定函数有三个如下:       

组件.bind('事件类型',事件函数)

为一个组件绑定一个操作

组件.bind_class('组件类型','事件类型',事件函数)

为一个类组件绑定一个操作

组件.bind_all('事件类型',事件函数)

为所有组件绑定一个操作(所有操作都会当作对主界面的操作)

2.事件类型

python_tkinter事件类型详情

python_tkinter事件类型详情

python_tkinter事件类型详情

3.事件对象

python_tkinter事件类型详情

事件绑定的案例1:

鼠标进入组件变红,离开组件变白:

python_tkinter事件类型详情

# 单行文本输入框
entry = tkinter.Entry(root)
entry.pack()
# 事件函数
def changered(eventobj):
    # 通过事件对象获取得到组件
    eventobj.widget['bg'] = 'red'#鼠标进入组件变红
def wdc(eventobj):
    eventobj.widget['bg'] = 'white'#鼠标离开组件变白
# 事件绑定
entry.bind('<Enter>',changered)
entry.bind('<Leave>',wdc)

注意:通过绑定函数操作,对应的事件函数,必须有形参接受事件对象。

事件函数必须在绑定之前定义

事件绑定的案例2:

键盘快捷键触发事件:按快捷键改变窗口背景色

python_tkinter事件类型详情

import tkinter

# 创建主窗口
root = tkinter.Tk()
# 设置窗口大小
root.minsize(300,200)

# 变红色
def changer(eventobj):
    eventobj.widget['bg'] = 'red'

# 按Ctrl + r窗口变红色:两条命令 R和r都行
root.bind('<Control-KeyPress-r>',changer)
root.bind('<Control-KeyPress-R>',changer)

# 加入消息循环
root.mainloop()

事件绑定的案例3:(为一类组件绑定事件)

python_tkinter事件类型详情

import tkinter

# 创建主窗口
root = tkinter.Tk()
# 设置窗口大小
root.minsize(300,200)

# 按钮1
btn1 = tkinter.Button(root,text = '1')
btn1.place(x = 20,y = 20,width = 40,height = 40)
# 按钮2
btn2 = tkinter.Button(root,text = '2')
btn2.place(x = 80,y = 20,width = 40,height = 40)
# 按钮3
btn3 = tkinter.Button(root,text = '3')
btn3.place(x = 140,y = 20,width = 40,height = 40)
# 按钮4
btn4 = tkinter.Button(root,text = '4')
btn4.place(x = 20,y = 80,width = 40,height = 40)
# 按钮5
btn5 = tkinter.Button(root,text = '5')
btn5.place(x = 80,y = 80,width = 40,height = 40)
# 按钮6
btn6 = tkinter.Button(root,text = '6')
btn6.place(x = 140,y = 80,width = 40,height = 40)

def changebg(wdc):
    # 鼠标放到按钮上按钮变红
    wdc.widget['bg'] = 'red'
def changebg1(wdc):
    # 鼠标离开按钮上按钮变白
    wdc.widget['bg'] = 'white'
# 绑定按钮鼠标进入事件
btn1.bind_class('Button','<Enter>',changebg)
btn1.bind_class('Button','<Leave>',changebg1)

# 加入消息循环
root.mainloop()

事件绑定的案例4:(为所有组件绑定事件)

鼠标点击所有组件,Entry组件背景颜色都会变红:

python_tkinter事件类型详情

import tkinter

# 创建主窗口
root = tkinter.Tk()
# 设置窗口大小
root.minsize(300,200)

# 按钮
btn1 = tkinter.Button(root,text = '###############')
btn1.pack()
# 输入框
entry = tkinter.Entry(root)
entry.pack()
# 多行输入框
text = tkinter.Text(root,width = 20,height = 5)
text.pack()
# 函数
def changeentry(e):
    # 鼠标点击任意组件,Entry组件都会变红
    entry['bg'] = 'red'

# 事件绑定
btn1.bind_all('<Button-1>',changeentry)

# 加入消息循环
root.mainloop()

到此这篇关于python_tkinter事件类型详情的文章就介绍到这了,更多相关python_tkinter事件内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python常用的日期时间处理方法示例
Feb 08 Python
python实现根据窗口标题调用窗口的方法
Mar 13 Python
实例说明Python中比较运算符的使用
May 13 Python
python 获取网页编码方式实现代码
Mar 11 Python
利用Python批量提取Win10锁屏壁纸实战教程
Mar 27 Python
Pandas 同元素多列去重的实例
Jul 03 Python
python3爬虫获取html内容及各属性值的方法
Dec 17 Python
Python功能点实现:函数级/代码块级计时器
Jan 02 Python
Django中自定义模型管理器(Manager)及方法
Sep 23 Python
在Python中画图(基于Jupyter notebook的魔法函数)
Oct 28 Python
python解决12306登录验证码的实现
Apr 18 Python
Pygame Time时间控制的具体使用详解
Nov 17 Python
再谈python_tkinter弹出对话框创建
python_tkinter弹出对话框创建
Mar 20 #Python
Python读写yaml文件
Mar 20 #Python
PO模式在selenium自动化测试框架的优势
Python IO文件管理的具体使用
Python实现Excel文件的合并(以新冠疫情数据为例)
Python中三种花式打印的示例详解
Mar 19 #Python
You might like
php数组键值用法实例分析
2015/02/27 PHP
CI框架实现优化文件上传及多文件上传的方法
2017/01/04 PHP
如何让PHP编码更加好看利于阅读
2019/05/12 PHP
不用ajax实现点击文字即可编辑的方法
2007/12/16 Javascript
JavaScript 获取当前时间戳的代码
2010/08/05 Javascript
在次封装easyui-Dialog插件实现代码
2010/11/14 Javascript
javascript复制对象使用说明
2011/06/28 Javascript
jquery 无限极下拉菜单的简单实例(精简浓缩版)
2016/05/31 Javascript
深入浅析Vue中的 computed 和 watch
2018/06/06 Javascript
微信小程序textarea层级过高的解决方法
2019/03/04 Javascript
详解使用Nuxt.js快速搭建服务端渲染(SSR)应用
2019/03/13 Javascript
VUE项目中加载已保存的笔记实例方法
2019/09/14 Javascript
js中script的上下放置区别,Dom的增删改创建操作实例分析
2019/12/16 Javascript
JavaScript canvas绘制圆弧与圆形
2020/02/18 Javascript
[02:25]DOTA2英雄基础教程 虚空假面
2014/01/02 DOTA
python文件操作之目录遍历实例分析
2015/05/20 Python
python获取目录下所有文件的方法
2015/06/01 Python
python中的lambda表达式用法详解
2016/06/22 Python
python字符串str和字节数组相互转化方法
2017/03/18 Python
Python装饰器实现几类验证功能做法实例
2017/05/18 Python
Python之Scrapy爬虫框架安装及简单使用详解
2017/12/22 Python
numpy找出array中的最大值,最小值实例
2018/04/03 Python
python3获取当前文件的上一级目录实例
2018/04/26 Python
查找python项目依赖并生成requirements.txt的方法
2018/07/10 Python
tensorflow实现读取模型中保存的值 tf.train.NewCheckpointReader
2020/02/10 Python
Python Django form 组件动态从数据库取choices数据实例
2020/05/19 Python
德国汉莎航空中国官网: Lufthansa中国
2017/03/30 全球购物
Currentbody西班牙:美容仪专家
2019/09/28 全球购物
软件工程师岗位职责
2013/11/16 职场文书
幼儿园园长新年寄语2015
2014/12/08 职场文书
横店影视城导游词
2015/02/06 职场文书
军训通讯稿范文
2015/07/18 职场文书
部门主管竞聘书
2015/09/15 职场文书
Python基础之函数嵌套知识总结
2021/05/23 Python
如何使用分区处理MySQL的亿级数据优化
2021/06/18 MySQL
golang 语言中错误处理机制
2021/08/30 Golang