"""
事件:
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)事件篇的更多相关文章

  1. GUI tkinter (Canvas)绘图篇

    from tkinter import * root = Tk()root.title("中国象棋棋盘手绘") can = Canvas(root,width = 400, hei ...

  2. GUI tkinter (Entry) 输入框篇

    """1.其他函数不常用,这里只说get函数,get函数使用的时候不需要任何参数,它的返回值就是该输入框的内容.""" from tkint ...

  3. TKinter当Label绑定bind事件时传参方法

    记录下tkinter的 当在label绑定bind事件时,遇到需要传参时的解决方法(因为有event存在 所以不能直接传参) https://www.cnblogs.com/liyuanhong/ar ...

  4. gui - tkinter 开发

    GUI 用户交互界面 tkinter 介绍 tkinter python自带的gui库,对图形图像处理库tk的封装 其他gui:pythonwin,wxpython,pyQT.. 概念介绍 组件:组成 ...

  5. 5.JAVA之GUI编程窗体事件

    我们回顾下第三篇时的内容: 在3.JAVA之GUI编程Frame窗口中窗体是无法直接关闭的,想要关闭须进程管理器结束进程方式关掉. 现在我们就来解决下这个问题. ******************* ...

  6. 实现 ready和bind事件

    Jquery揭秘系列:实现 ready和bind事件   讲这一节之前,先回顾之前的一篇<小谈Jquery>里面的代码: (function (win) { var _$ = functi ...

  7. jQuery事件篇---高级事件

    内容提纲: 1.模拟操作 2.命名空间 3.事件委托 4.on.off 和 one 发文不易,转载请注明出处! 一.模拟操作 在事件触发的时候,有时我们需要一些模拟用户行为的操作.例如:当网页加载完毕 ...

  8. 6.JAVA之GUI编程Action事件

    功能:单击一个按钮实现关闭窗口: import java.awt.*; import java.awt.event.*; public class StudyAction { // 定义该图形所需的组 ...

  9. 7.JAVA之GUI编程鼠标事件

    鼠标事件: 功能: 1.基本窗体功能实现 2.鼠标移动监听,当鼠标移动到按钮上时,触发打印事件. 3.按钮活动监听,当按钮活动时,触发打印事件. 4.按钮被单击时触发打印事件. 源码如下: impor ...

随机推荐

  1. 洛谷 P1101单词方阵

    我已经,是这个世界上,最幸福的女孩了                                                                         ——<末日时 ...

  2. 【第十六篇】这一次要写的是bootstrap-table

    先上图吧这就是效果图 上代码(这一部分是工具栏的,还包括slider滑动条) <div class="box-body"> <div class="ro ...

  3. Cabloy全栈JS框架微创新之一:不一样的“移动优先 PC适配”

    前言 目前流行的前端UI组件库都支持移动设备优先的响应式布局特性.但基于Mobile和PC两个场景的不同用户体验,也往往会实现Mobile和PC两个版本. PC场景下的Web工程,如大量的后台前端管理 ...

  4. TestNG(四) 基本注解BeforeSuite和AfterSuite

    package com.course.testng; import org.testng.annotations.*; public class BasicAnnotation { @Test //最 ...

  5. (三)Spring 高级装配 bean的作用域@Scope

    1.默认情况下,spring通过@Autowared注入的bean是单例的bean,但有些情况是不满足的,例如:购物车,每个会话,或每个用户登录使用的购物车都是独立的 spring的定义的作用域: a ...

  6. 实现一个正则表达式引擎in Python(三)

    项目地址:Regex in Python 前两篇已经完成的写了一个基于NFA的正则表达式引擎了,下面要做的就是更近一步,把NFA转换为DFA,并对DFA最小化 DFA的定义 对于NFA转换为DFA的算 ...

  7. [Linux] telnet 具体到某个端口Connection refused

    可以参考这个链接:https://q.cnblogs.com/q/106337/

  8. Linux入门基础之 下

    八.Linux 管道.重定向及文本处理 8.1.Linux 多命令协作:管道及重定向 8.1.1 开源文化 开源文化的核心理念之一就是不要重复发明轮子,很多的开源软件都是现有软件.代码.功能的重新组合 ...

  9. 蓝桥杯 algo122 未名湖的烦恼 简单题

    #include <iostream> using namespace std; int m, n, ans; void solve(int m, int n, int cnt) { &a ...

  10. Spring boot 官网学习笔记 - logging

    commons-logging和slf4j是java中的日志门面,即它们提供了一套通用的接口,具体的实现可以由开发者自由选择.log4j和logback则是具体的日志实现方案. 比较常用的搭配是com ...