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中进行自动化单元测试的教程
Apr 15 Python
python字典基本操作实例分析
Jul 11 Python
解决PyCharm中光标变粗的问题
Aug 05 Python
如何高效使用Python字典的方法详解
Aug 31 Python
Python下载网络小说实例代码
Feb 03 Python
Python Tkinter模块实现时钟功能应用示例
Jul 23 Python
Django RBAC权限管理设计过程详解
Aug 06 Python
基于python和flask实现http接口过程解析
Jun 15 Python
Python库安装速度过慢解决方案
Jul 14 Python
Python 数据的累加与统计的示例代码
Aug 03 Python
基于python实现监听Rabbitmq系统日志代码示例
Nov 28 Python
python 命令行传参方法总结
May 25 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选项与信息函数的使用详解
2013/05/10 PHP
PHP递归删除目录几个代码实例
2014/04/21 PHP
php_screw安装使用教程(另一个PHP代码加密实现)
2014/05/29 PHP
thinkphp3.2实现在线留言提交验证码功能
2017/07/19 PHP
ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】
2018/05/12 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
PHP中迭代器的简单实现及Yii框架中的迭代器实现方法示例
2020/04/26 PHP
cssQuery()的下载与使用方法
2007/01/12 Javascript
JavaScript 中的日期和时间及表示标准介绍
2013/08/21 Javascript
3种Jquery限制文本框只能输入数字字母的方法
2014/12/03 Javascript
javascript实现淘宝幻灯片广告展示效果
2015/04/27 Javascript
JQUERY实现网页右下角固定位置展开关闭特效的方法
2015/07/27 Javascript
js实现tab切换效果实例
2015/09/16 Javascript
jQuery实现页面评论栏中访客信息自动填写功能的方法
2016/05/23 Javascript
让html元素随浏览器的大小自适应垂直居中的实现方法
2016/10/12 Javascript
JavaScript中英文字符长度统计方法示例【按照中文占2个字符】
2017/01/17 Javascript
nodejs搭建本地服务器并访问文件的方法
2017/03/03 NodeJs
vuex 的简单使用
2018/03/22 Javascript
微信小程序通过websocket实时语音识别的实现代码
2020/08/19 Javascript
[52:20]VP vs VG Supermajor小组赛 B组胜者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
Python 3.8 新功能大揭秘【新手必学】
2020/02/05 Python
CSS3实现曲线阴影和翘边阴影
2016/05/03 HTML / CSS
HTML5地理定位实例
2014/10/15 HTML / CSS
What's the difference between deep copy and shallow copy? (深拷贝与浅拷贝有什么区别)
2015/11/10 面试题
大学军训自我鉴定
2013/12/15 职场文书
会计电算化专业毕业生自荐信
2013/12/20 职场文书
职工运动会邀请函
2014/02/02 职场文书
信息技术培训感言
2014/03/06 职场文书
本科毕业自我鉴定
2014/03/20 职场文书
访谈节目策划方案
2014/05/15 职场文书
个人批评与自我批评总结
2014/10/17 职场文书
难以忽视的真相观后感
2015/06/05 职场文书
最美乡村教师观后感
2015/06/11 职场文书
中学校园广播稿
2015/08/18 职场文书
Python中生成随机数据安全性、多功能性、用途和速度方面进行比较
2022/04/14 Python
GO语言字符串处理函数之处理Strings包
2022/04/14 Golang