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使用BeautifulSoup分析网页信息的方法
Apr 04 Python
收藏整理的一些Python常用方法和技巧
May 18 Python
opencv改变imshow窗口大小,窗口位置的方法
Apr 02 Python
python批量赋值操作实例
Oct 22 Python
python 梯度法求解函数极值的实例
Jul 10 Python
Python安装selenium包详细过程
Jul 23 Python
Flask使用Pyecharts在单个页面展示多个图表的方法
Aug 05 Python
Python数据库小程序源代码
Sep 15 Python
Python+Appium实现自动化测试的使用步骤
Mar 24 Python
Python常用模块函数代码汇总解析
Aug 31 Python
Scrapy基于scrapy_redis实现分布式爬虫部署的示例
Sep 29 Python
python 基于opencv去除图片阴影
Jan 26 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
咖啡产品发展的三大浪潮
2021/03/04 咖啡文化
使用MaxMind 根据IP地址对访问者定位
2006/10/09 PHP
PHP 年龄计算函数(精确到天)
2012/06/07 PHP
document.all还是document.getElementsByName?
2006/07/21 Javascript
js捕获鼠标右键菜单中的粘帖事件实现代码
2013/04/01 Javascript
javascript ajax 仿百度分页函数
2013/10/29 Javascript
深入理解JavaScript系列(43):设计模式之状态模式详解
2015/03/04 Javascript
使用Node.js配合Nginx实现高负载网络
2015/06/28 Javascript
JavaScript实现页面跳转的几种常用方式
2015/11/28 Javascript
基于Node.js的JavaScript项目构建工具gulp的使用教程
2016/05/20 Javascript
JavaScript判断数组重复内容的两种方法(推荐)
2016/06/06 Javascript
Bootstrap布局组件教程之Bootstrap下拉菜单
2016/06/12 Javascript
JS判断是否在微信浏览器打开的简单实例(推荐)
2016/08/24 Javascript
原生js实现类似fullpage的单页/全屏滚动
2017/01/22 Javascript
JS实现图片点击后出现模态框效果
2017/05/03 Javascript
nodejs 图解express+supervisor+ejs的用法(推荐)
2017/09/08 NodeJs
Vue Element使用icon图标教程详解(第三方)
2018/02/07 Javascript
JavaScript使用递归和循环实现阶乘的实例代码
2018/08/28 Javascript
python爬虫入门教程--优雅的HTTP库requests(二)
2017/05/25 Python
Python下调用Linux的Shell命令的方法
2018/06/12 Python
在pycharm中python切换解释器失败的解决方法
2018/10/29 Python
Numpy截取指定范围内的数据方法
2018/11/14 Python
对python3 中方法各种参数和返回值详解
2018/12/15 Python
Python数据可视化:饼状图的实例讲解
2019/12/07 Python
Python有参函数使用代码实例
2020/01/06 Python
Python安装OpenCV的示例代码
2020/03/05 Python
localStorage 设置过期时间的方法实现
2018/12/21 HTML / CSS
NARS化妆品官方商店:美国彩妆品牌
2017/08/26 全球购物
澳大利亚在线购买儿童玩具:Toy Universe
2017/12/28 全球购物
四种会话跟踪技术
2015/05/20 面试题
生产厂厂长岗位职责
2013/12/25 职场文书
咖啡馆创业计划书
2014/01/26 职场文书
白酒营销策划方案
2014/08/17 职场文书
公安局班子个人对照检查材料思想汇报
2014/10/09 职场文书
go语言-在mac下brew升级golang
2021/04/25 Golang
MySQL的join buffer原理
2021/04/29 MySQL