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 相关文章推荐
Django实现简单分页功能的方法详解
Dec 05 Python
Python with语句上下文管理器两种实现方法分析
Feb 09 Python
Python 实现引用其他.py文件中的类和类的方法
Apr 29 Python
IntelliJ IDEA安装运行python插件方法
Dec 10 Python
PyQt5组件读取参数的实例
Jun 25 Python
python print 格式化输出,动态指定长度的实现
Apr 12 Python
vscode配置anaconda3的方法步骤
Aug 08 Python
python判断元素是否存在的实例方法
Sep 24 Python
python mongo 向数据中的数组类型新增数据操作
Dec 05 Python
Python实现淘宝秒杀功能的示例代码
Jan 19 Python
详解Python小数据池和代码块缓存机制
Apr 07 Python
浅谈Python 中的复数问题
May 19 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
2019年漫画销量排行榜:鬼灭登顶 海贼单卷制霸 尾田盛赞鬼灭
2020/03/08 日漫
php使用socket post数据到其它web服务器的方法
2015/06/02 PHP
php实现头像上传预览功能
2017/04/27 PHP
静态图片的十一种滤镜效果--不支持Ie7及非IE浏览器。
2007/03/06 Javascript
xml 封装与解析(javascript和C#中)
2009/07/26 Javascript
JS和Jquery获取和修改label的值的示例代码
2014/01/15 Javascript
jquery 扑捉回车键事件代码
2014/04/24 Javascript
Jquery 实现图片轮换
2015/01/28 Javascript
js判断浏览器是否支持严格模式的方法
2016/10/04 Javascript
js,jq,css多方面实现简易下拉菜单功能
2017/05/13 Javascript
JS声明对象时属性名加引号与不加引号的问题及解决方法
2018/02/16 Javascript
详解微信UnionID作用
2019/05/15 Javascript
关于JSON解析的实现过程解析
2019/10/08 Javascript
详解vue中使用axios对同一个接口连续请求导致返回数据混乱的问题
2019/11/06 Javascript
vue设置全局访问接口API地址操作
2020/08/14 Javascript
python实现微信自动回复机器人功能
2019/07/11 Python
Django 模型类(models.py)的定义详解
2019/07/19 Python
浅谈图像处理中掩膜(mask)的意义
2020/02/19 Python
jupyter 导入csv文件方式
2020/04/21 Python
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
2020/09/23 Python
基于Html5 canvas实现裁剪图片和马赛克功能及又拍云上传图片 功能
2019/07/09 HTML / CSS
Bose加拿大官方网站:美国知名音响品牌
2019/03/21 全球购物
计算机专业个人求职自荐信
2013/09/21 职场文书
项目副经理岗位职责
2013/12/30 职场文书
2013年研究生毕业感言
2014/02/06 职场文书
医学院毕业生自荐信范文
2014/03/06 职场文书
2014年全国爱牙日宣传活动方案
2014/09/21 职场文书
金秋助学感谢信
2015/01/21 职场文书
2015年司法所工作总结
2015/04/27 职场文书
起诉意见书范文
2015/05/19 职场文书
小学运动会加油词
2015/07/18 职场文书
调解协议书范本
2016/03/21 职场文书
公文写作:新员工转正申请书范本3篇!
2019/08/07 职场文书
祝福语集锦:朋友新店开业祝福语
2019/12/10 职场文书
《思路决定出路》读后感3篇
2019/12/11 职场文书
Python OpenCV超详细讲解调整大小与图像操作的实现
2022/04/02 Python