GUI tkinter (bind)事件篇
"""
事件:
1、我们的很多操作,比如我们点击了一下鼠标,这就是一 个事件,而操作系统会根据我们的相应的事件产生相应的消息,
操作系统把消息传递给我们的应用程序,然后我们的应用程序根据操作系统传入的数据执行相应的命令。
2、事件是我们触发的,消息是操作系统根据我们的事件产 生的,我们通常对于“消息”并不多关注,我们重视的是 “事件”。 ********** 事件及其绑定 ***************
1、bind 函数的调用规则: 窗体对象.bind(事件类型,回调函数)
2、所谓的“回调函数”,就是这个函数我们不用去调用它, 当相应的事件发生的时候,它会自动取调用。比如当我们 的按钮被按下的时候,它会被自动调用。 ********** 常用的事件 ***************
1、我们在使用 bind 函数的时候,它的第一个参数就是事件 的类型了。
2、<Button-1>表示鼠标左键单击,其中的 1 换成 3 表示右 键被单击,为 2 的时候表示鼠标中键,感觉不算常用。
3、<KeyPress-A>表示 A 键被按下,其中的 A 可以换成其他
的键位。
4、<Control-V>表示按下的是 Ctrl 和 V 键,V 可以换成其他 键位。
5、<F1>表示按下的是 F1 键,对于 Fn 系列的,都可以随便 换。 ********** 再看绑定 ***************
1.事件不仅可以与 Button 绑定,我们之前看过源代码,发现 bind 函数是定义在 Misc 类里面的,也就是说,这个 bind 可以被绝大多数组件类所使用。
2.也就是说,我们可以让“标签”来模拟“按钮”的作用。
3.因为标签是 Label 类,而 Label 类继承自 Widget,而 Widget 继承自 BaseWidget,而 Basewidget 继承自 Misc。
4.其实不仅是标签可以模拟 button,任何组件都可以模拟 它,只是那么有用。 """ from tkinter import * def testLabel(event):
global base
lb = Label(base, text = "这是一个Label组件", background = "green")
lb.pack() base = Tk()
obj = Label(base, text = "模拟按钮")
obj.bind("<Button-1>",testLabel)
obj.pack()
base.mainloop()
运行结果如下:

"""
************* 关于bind 函数***************
1.关于 bind 函数,还有两个版本的,不能说高级低级,只 是使用的方面不同。
2.可以在全程序级别的绑定,使用 bind_all,它的参数类 型和 bind 一样,它通常用于全局的快捷键,比如 F1 通常 是用来打开帮助文档。
3.还可以绑定某些类别,使用 bind_class,它接受三个参数, 第一个参数是类名,第二个参数是事件类型,第三个参数 是相应的操作,
比如 w.bind_class(“Entry”, “<Control-V>”,my_paste)。它就是绑定了所有的所有的 输入框的 Ctrl+V 表示粘贴。 *************解除绑定**************
1.接触绑定我们使用 unbind 方法,它和 bind 的使用很相 似。
2.不过 unbind 方法只需要一个参数就可以了,它只需要解 除绑定的事件类型,因为它会解除该绑定事件类型的所有 回调函数。 """
GUI tkinter (bind)事件篇的更多相关文章
- GUI tkinter (Canvas)绘图篇
from tkinter import * root = Tk()root.title("中国象棋棋盘手绘") can = Canvas(root,width = 400, hei ...
- GUI tkinter (Entry) 输入框篇
"""1.其他函数不常用,这里只说get函数,get函数使用的时候不需要任何参数,它的返回值就是该输入框的内容.""" from tkint ...
- TKinter当Label绑定bind事件时传参方法
记录下tkinter的 当在label绑定bind事件时,遇到需要传参时的解决方法(因为有event存在 所以不能直接传参) https://www.cnblogs.com/liyuanhong/ar ...
- gui - tkinter 开发
GUI 用户交互界面 tkinter 介绍 tkinter python自带的gui库,对图形图像处理库tk的封装 其他gui:pythonwin,wxpython,pyQT.. 概念介绍 组件:组成 ...
- 5.JAVA之GUI编程窗体事件
我们回顾下第三篇时的内容: 在3.JAVA之GUI编程Frame窗口中窗体是无法直接关闭的,想要关闭须进程管理器结束进程方式关掉. 现在我们就来解决下这个问题. ******************* ...
- 实现 ready和bind事件
Jquery揭秘系列:实现 ready和bind事件 讲这一节之前,先回顾之前的一篇<小谈Jquery>里面的代码: (function (win) { var _$ = functi ...
- jQuery事件篇---高级事件
内容提纲: 1.模拟操作 2.命名空间 3.事件委托 4.on.off 和 one 发文不易,转载请注明出处! 一.模拟操作 在事件触发的时候,有时我们需要一些模拟用户行为的操作.例如:当网页加载完毕 ...
- 6.JAVA之GUI编程Action事件
功能:单击一个按钮实现关闭窗口: import java.awt.*; import java.awt.event.*; public class StudyAction { // 定义该图形所需的组 ...
- 7.JAVA之GUI编程鼠标事件
鼠标事件: 功能: 1.基本窗体功能实现 2.鼠标移动监听,当鼠标移动到按钮上时,触发打印事件. 3.按钮活动监听,当按钮活动时,触发打印事件. 4.按钮被单击时触发打印事件. 源码如下: impor ...
随机推荐
- ORACLE官网JAVA学习文档
Trails Covering the Basics 1 Getting Started 1.1 The Java Technology Phenomenon 1.1.1 About the Ja ...
- 聊聊Spring Cloud Config
Spring Cloud Config 转自:https://blog.csdn.net/fjnpysh/article/details/71307311 现今这个时候,微服务大行其道,互联网应用遍地 ...
- php文件加密解密
利用base64加解密 base64_encode是加密,而base64_decode是解密 语法:string base64_encode(string data); 语法:string bas ...
- springboot数据库主从方案
本篇分享数据库主从方案,案例采用springboot+mysql+mybatis演示:要想在代码中做主从选择,通常需要明白什么时候切换数据源,怎么切换数据源,下面以代码示例来做阐述: 搭建测试环境(1 ...
- Imageio: 'ffmpeg-win32-v3.2.4.exe' was not found on your computer; downloading it now.
场景 在使用pip下载了Imageio之后,需要下载ffmpeag-win-32-v3.2.4.exe文件,一种是在代码的 开头部分加入: imageio.plugins.ffmpeg.downloa ...
- sqoop导oracle数据到hive中并动态分区
静态分区: 在hive中创建表可以使用hql脚本: test.hql USE TEST; CREATE TABLE page_view(viewTime INT, userid BIGINT, pag ...
- 即时聊天APP(三) - 注册和登陆
注册和登陆大多都是一些用户名和密码的验证,所以放在一起写,注册代码: String account = accountEdit.getText().toString().trim(); String ...
- ZFNet(2013)及可视化的开端
目录 写在前面 网络架构与动机 特征可视化 其他 参考 博客:blog.shinelee.me | 博客园 | CSDN 写在前面 ZFNet出自论文< Visualizing and Unde ...
- Java并发synchronized详解
今天和大家一起学习下并发编程,先举一个简单的生活例子,我们去医院或者银行排队叫号,那每个工作人员之间如何保证不会叫重号呢? public class TicketDemo extends Thread ...
- 运行pytest,报错"AttributeError: 'module' object has no attribute 'xxx'"
最近学习pytest被此问题困扰,敲脑壳,实在是不该.百度解决方法一大堆,我的问题怎么也解决不了,来看一下,我是怎么解决的,各位大佬勿喷,只是自己做笔记用,谢谢. 报错信息如下: 网上解决方法是这样的 ...