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实现简单状态框架的方法
Mar 19 Python
10种检测Python程序运行时间、CPU和内存占用的方法
Apr 01 Python
Python下的subprocess模块的入门指引
Apr 16 Python
Python使用matplotlib绘制动画的方法
May 20 Python
Python基础教程之浅拷贝和深拷贝实例详解
Jul 15 Python
Django实现快速分页的方法实例
Oct 22 Python
Python 函数基础知识汇总
Mar 09 Python
对Python 文件夹遍历和文件查找的实例讲解
Apr 26 Python
实例讲解python中的序列化知识点
Oct 08 Python
python、PyTorch图像读取与numpy转换实例
Jan 13 Python
python实现飞机大战项目
Mar 11 Python
基于Python快速处理PDF表格数据
Jun 03 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
async和DOM Script文件加载比较
2014/07/20 PHP
ThinkPHP表单数据智能写入create方法实例分析
2015/09/27 PHP
Yii2.0 模态弹出框+ajax提交表单
2016/05/22 PHP
PHP文件操作实例总结
2016/09/27 PHP
Yii框架弹出窗口组件CJuiDialog用法分析
2017/01/07 PHP
滚动经典最新话题[prototype框架]下编写
2006/10/03 Javascript
jquery 锁定弹出层实现代码
2010/02/23 Javascript
基于Asp.net与Javascript控制的日期控件
2010/05/22 Javascript
js中parseFloat(参数1,参数2)定义和用法及注意事项
2013/01/27 Javascript
深入理解JavaScript系列(47):对象创建模式(上篇)
2015/03/04 Javascript
前端js文件合并的三种方式推荐
2016/05/19 Javascript
微信小程序 实现列表项滑动显示删除按钮的功能
2017/04/13 Javascript
jQuery实现的上传图片本地预览效果简单示例
2018/03/29 jQuery
vue-cli 引入jQuery,Bootstrap,popper的方法
2018/09/03 jQuery
详解vue中的computed的this指向问题
2018/12/05 Javascript
vue 引用自定义ttf、otf、在线字体的方法
2019/05/09 Javascript
关于vue表单提交防双/多击的例子
2019/10/31 Javascript
ZK中使用JS读取客户端txt文件内容问题
2019/11/07 Javascript
原生js实现点击轮播切换图片
2020/02/11 Javascript
Python中列表和元组的相关语句和方法讲解
2015/08/20 Python
Python 实现淘宝秒杀的示例代码
2018/01/02 Python
Python如何使用BeautifulSoup爬取网页信息
2019/11/26 Python
Python转换字典成为对象,可以用&quot;.&quot;方式访问对象属性实例
2020/05/11 Python
使用python实现时间序列白噪声检验方式
2020/06/03 Python
Django 实现图片上传和下载功能
2020/12/31 Python
英国最受欢迎的平价女士时装零售商:Roman Originals
2019/11/02 全球购物
大学毕业感言
2014/01/10 职场文书
最新个人职业生涯规划书
2014/01/22 职场文书
初中生评语大全
2014/04/24 职场文书
大二学生学年自我鉴定
2014/09/12 职场文书
事业单位个人查摆问题及整改措施
2014/10/28 职场文书
2014年科普工作总结
2014/12/06 职场文书
精神文明建设先进个人事迹材料
2014/12/24 职场文书
校运会班级霸气口号
2015/12/24 职场文书
python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)
2022/04/06 Python
Python语法学习之进程的创建与常用方法详解
2022/04/08 Python