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实现在无须过多援引的情况下创建字典的方法
Sep 25 Python
在Django的form中使用CSS进行设计的方法
Jul 18 Python
Windows系统下使用flup搭建Nginx和Python环境的方法
Dec 25 Python
13个最常用的Python深度学习库介绍
Oct 28 Python
python入门教程 python入门神图一张
Mar 05 Python
Python基于Floyd算法求解最短路径距离问题实例详解
May 16 Python
Python实现对字典分别按键(key)和值(value)进行排序的方法分析
Dec 19 Python
浅谈python常用程序算法
Mar 22 Python
PyTorch的SoftMax交叉熵损失和梯度用法
Jan 15 Python
Python类继承和多态原理解析
Feb 05 Python
Python基于traceback模块获取异常信息
Jul 23 Python
对Python 字典元素进行删除的方法
Jul 31 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
ThinkPHP写第一个模块应用
2012/02/20 PHP
关于PHP二进制流 逐bit的低位在前算法(详解)
2013/06/13 PHP
php+mysql实现用户注册登陆的方法
2015/01/03 PHP
解决Laravel自定义类引入和命名空间的问题
2019/10/15 PHP
javascript复制对象使用说明
2011/06/28 Javascript
jquery统计复选框选中示例
2013/11/05 Javascript
jquery实现手风琴效果实例代码
2013/11/15 Javascript
js写出遮罩层登陆框和对联广告并自动跟随滚动条滚动
2014/04/29 Javascript
js获取IP地址的方法小结
2014/07/01 Javascript
怎么通过onclick事件获取js函数返回值(代码少)
2015/07/28 Javascript
JavaScript中对DOM节点的访问、创建、修改、删除
2015/11/16 Javascript
基于JavaScript实现选项卡效果
2017/07/21 Javascript
微信小程序云开发实现数据添加、查询和分页
2019/05/17 Javascript
jquery+php后台实现省市区联动功能示例
2019/05/23 jQuery
微信小程序实现录音功能
2019/11/22 Javascript
全面解析Python的While循环语句的使用方法
2015/10/13 Python
Python实现PS图像调整之对比度调整功能示例
2018/01/26 Python
sublime python3 输入换行不结束的方法
2018/04/19 Python
解决python线程卡死的问题
2019/02/18 Python
python实现简单聊天室功能 可以私聊
2019/07/12 Python
tensorflow2.0与tensorflow1.0的性能区别介绍
2020/02/07 Python
Python 操作 PostgreSQL 数据库示例【连接、增删改查等】
2020/04/21 Python
python包的导入方式总结
2021/03/02 Python
世界上最大的糖果店:Dylan’s Candy Bar
2017/11/07 全球购物
Diesel美国网上商店:意大利牛仔时装品牌
2020/12/10 全球购物
写演讲稿要注意的六件事
2014/01/14 职场文书
应届优秀本科大学毕业生自我鉴定
2014/01/21 职场文书
幼师自我鉴定
2014/02/01 职场文书
六五普法宣传标语
2014/10/06 职场文书
晋江市委常委班子四风问题整改工作方案
2014/10/26 职场文书
党的群众路线教育实践活动学习笔记
2014/11/05 职场文书
停电调休通知
2015/04/16 职场文书
小学生暑假安全公约
2015/07/14 职场文书
《作风建设永远在路上》心得体会
2016/01/21 职场文书
2016大学生求职自荐信范文
2016/01/28 职场文书
Python数据可视化之绘制柱状图和条形图
2021/05/25 Python