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 THREADING模块中的JOIN()方法深入理解
Feb 18 Python
python的keyword模块用法实例分析
Jun 30 Python
利用Python画ROC曲线和AUC值计算
Sep 19 Python
Python3爬虫学习之MySQL数据库存储爬取的信息详解
Dec 12 Python
简单了解Django ContentType内置组件
Jul 23 Python
python word转pdf代码实例
Aug 16 Python
使用opencv将视频帧转成图片输出
Dec 10 Python
Pytorch之finetune使用详解
Jan 18 Python
pytorch读取图像数据转成opencv格式实例
Jun 02 Python
Python基于内置函数type创建新类型
Oct 22 Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
Mar 04 Python
Python基本的内置数据类型及使用方法
Apr 13 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 at(@)符号的用法简介
2009/07/11 PHP
php使用ICQ网关发送手机短信
2013/10/30 PHP
PHP实现长文章分页实例代码(附源码)
2016/02/03 PHP
php如何利用pecl安装mongodb扩展详解
2019/01/09 PHP
js 加密压缩出现bug解决方案
2014/11/25 Javascript
JavaScript版的TwoQueues缓存模型
2014/12/29 Javascript
jQuery实现从身份证号中获取出生日期和性别的方法分析
2016/02/25 Javascript
通过JS获取Request.QueryString()参数的值实现方法
2016/09/27 Javascript
VUE开发一个图片轮播的组件示例代码
2017/03/06 Javascript
React如何利用相对于根目录进行引用组件详解
2017/10/09 Javascript
详解ES6中的Map与Set集合
2019/03/22 Javascript
微信小程序mpvue点击按钮获取button值的方法
2019/05/29 Javascript
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
2019/07/15 Javascript
解决vuex数据异步造成初始化的时候没值报错问题
2019/11/13 Javascript
js实现自定义右键菜单
2020/05/18 Javascript
Vue如何实现变量表达式选择器
2021/02/18 Vue.js
[58:58]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第二场
2018/04/05 DOTA
Python描述器descriptor详解
2015/02/03 Python
python模拟Django框架实例
2016/05/17 Python
Python常见字符串操作函数小结【split()、join()、strip()】
2018/02/02 Python
Tornado Web Server框架编写简易Python服务器
2018/07/28 Python
手把手教你使用Python创建微信机器人
2019/04/29 Python
python的常见矩阵运算(小结)
2019/08/07 Python
基于python分析你的上网行为 看看你平时上网都在干嘛
2019/08/13 Python
Python爬虫库requests获取响应内容、响应状态码、响应头
2020/01/25 Python
Python实现括号匹配方法详解
2020/02/10 Python
如何安装并在pycharm使用selenium的方法
2020/04/30 Python
纯HTML5+CSS3制作图片旋转
2016/01/12 HTML / CSS
HTML5中的nav标签学习笔记
2016/06/24 HTML / CSS
档案管理员岗位职责
2013/12/01 职场文书
贷款担保书范文
2014/05/13 职场文书
恰同学少年观后感
2015/06/08 职场文书
教务处教学工作总结
2015/08/10 职场文书
《飘》英文读后感五篇
2019/10/11 职场文书
分析SQL窗口函数之聚合窗口函数
2022/04/21 Oracle
instantclient客户端 连接oracle数据库
2022/04/26 Oracle