立即学习:https://edu.csdn.net/course/play/19711/343105?utm_source=blogtoedu

事件:

1.概念:就是给组件添加一定的功能,使得单击或者是聚焦时产生一定的反应

2.知识点:

1)给组件绑定事件:

组件名.bind("事件的按键编码",事件)
例:self.root.bind("<Button-1>", self.event_handle)#为窗体绑定了左键按下后处理事件的操作(鼠标单击事件)

2)创建事件处理方法1

#创建事件处理的方法def event_handle(self,para1,para2):pass例;def event_handle(self,event,info):#------------此处以左键单击窗体弹出信息提示框为事件作为例子----------------#tkinter.messagebox.showinfo(title="信息提示框的名称",message="提示信息")tkinter.messagebox.showinfo(title="单击窗体的事件处理",message=info)

3)创建事件处理方法2

root.bind("<Button-1>",lambda event:self.event_handle(event,"www.linlianqin,com"))

4)动态追加组件,即在事件处理的方法中追加上需要追加的组件即可,也可以动态取消删除组件

    def event_handle(self,event,info):#---------------动态追加组件(还可以动态取消删除组件等)----------------------label_text = tkinter.Label(self.root,text = "在事件处理中动态添加的组件",width = 300,height = 100,fg = "#ffffff",bg = "#000000")#创建文本组件label_text.pack()#显示文本组件idth#------------此处以左键单击窗体弹出信息提示框为事件作为例子----------------#tkinter.messagebox.showinfo(title="信息提示框的名称",message="提示信息")tkinter.messagebox.showinfo(title="单击窗体的事件处理",message=info)

3.完整代码

#encoding = ‘utf-8’
import tkinter
import sys
import os
import tkinter.messagebox#-------------------资源文件夹目录路径的获取方法------------------
def get_resource_path(relative_path):if getattr(sys,"frozen",False):base_path = sys._MEIPASSelse:base_path = os.path.abspath('.')return os.path.join(base_path,relative_path)logo_path = get_resource_path(os.path.join("resources","linlianqin_logo.ico"))#创建窗体类
class MainWindow():#重写构造方法def __init__(self):#-------------创建窗体以及窗体属性设置--------------self.root = tkinter.Tk()#创建窗体self.root.title("linlianqin")#设置窗体名字self.root.iconbitmap(logo_path)#设置窗体的logoself.root.geometry("500x300")#设置窗体的初始尺寸self.root.maxsize(1000,500)#设置窗体的最大尺寸#--------------为窗体这个组件绑定需要处理的事件,事件处理的方法通过方法类组件实现message="www.linlianqin,com"---------------#self.root.bind("<Button-1>", self.event_handle)#为窗体绑定了左键按下后处理事件的操作(鼠标单击事件)#--------------为窗体这个组件绑定需要处理的事件,事件处理方法的参数由外部传入-------------self.root.bind("<Button-1>",lambda event:self.event_handle(event,"www.linlianqin,com"))self.root.mainloop()#进行窗体的显示#创建事件处理的方法def event_handle(self,event,info):#---------------动态追加组件(还可以动态取消删除组件等)----------------------label_text = tkinter.Label(self.root,text = "在事件处理中动态添加的组件",width = 300,height = 100,fg = "#ffffff",bg = "#000000")#创建文本组件label_text.pack()#显示文本组件idth#------------此处以左键单击窗体弹出信息提示框为事件作为例子----------------#tkinter.messagebox.showinfo(title="信息提示框的名称",message="提示信息")tkinter.messagebox.showinfo(title="单击窗体的事件处理",message=info)if __name__ == '__main__':MainWindow()#主窗体类实例化

4.补充

1)常见事件

2)

学习笔记(43):Python实战编程-事件处理简介相关推荐

  1. 学习笔记(53):Python实战编程-Checkbutton

    立即学习:https://edu.csdn.net/course/play/19711/343116?utm_source=blogtoedu 复选框Checkbutton:与单选框是相对的,一些用法 ...

  2. 学习笔记(58):Python实战编程-Combobox

    立即学习:https://edu.csdn.net/course/play/19711/343121?utm_source=blogtoedu 1.下拉列表Combobox:与Listbox相比,下拉 ...

  3. 学习笔记(57):Python实战编程-Treeview

    立即学习:https://edu.csdn.net/course/play/19711/343120?utm_source=blogtoedu 1.树状结构Treeview:分为树状折叠式列表和列表显 ...

  4. 学习笔记(55):Python实战编程-Scrollbar

    立即学习:https://edu.csdn.net/course/play/19711/343118?utm_source=blogtoedu 1.滚动条ScrollBar: 当列表内容项的内容过多时 ...

  5. 学习笔记(54):Python实战编程-Scale

    立即学习:https://edu.csdn.net/course/play/19711/343117?utm_source=blogtoedu 1.滑块组件Scale: 用于定义一定范围的区间,如音量 ...

  6. 学习笔记(52):Python实战编程-Radiobutton

    立即学习:https://edu.csdn.net/course/play/19711/343115?utm_source=blogtoedu 单选钮:Radiobutton 1)相对于大部分组件而言 ...

  7. 学习笔记(51):Python实战编程-ListBox

    立即学习:https://edu.csdn.net/course/play/19711/343113?utm_source=blogtoedu listbox 知识点: 1)创建listbox: se ...

  8. 学习笔记(50):Python实战编程-Frame

    立即学习:https://edu.csdn.net/course/play/19711/343112?utm_source=blogtoedu 1.Frame:是内嵌布局管理器,针对不同功能的组件进行 ...

  9. 学习笔记(49):Python实战编程-place布局

    立即学习:https://edu.csdn.net/course/play/19711/343111?utm_source=blogtoedu 1.place布局: 1)最灵活的布局方式,是根据坐标点 ...

最新文章

  1. 如何利用C#开发“扫雷”小游戏
  2. 管理Exchange服务器
  3. DNS服务搭建和正反区域解析
  4. windows下连接db2数据库
  5. Java生鲜电商平台-订单配送模块的架构与设计
  6. Arch Linux下打不开gnome-shell
  7. python字符串截取后拼接_Python字符串拼接、截断、搜索、替换,python,截取,查找
  8. php7.1 win7,win7 配置AMP环境(apache2.4.39 + php7.1.28)
  9. 一维均值滤波算法matlab,用MATLAB编程实现均值滤波算法?
  10. word添加参考文献和标注的方法
  11. Ubuntu RTL8821ce网卡驱动
  12. SHELL编程基础 By jackie
  13. A - Round decimals
  14. 论文阅读笔记《Improving Unsupervised Defect Segmentation by Applying Structural Similarity To Autoencoders》
  15. dplyr包 mutate 和 transmute 函数
  16. 用余子式、代数余子式和伴随 来求逆矩阵
  17. VisionPro基础篇(一): VisionPro界面介绍
  18. ‘java‘ 不是内部或外部命令,也不是可运行的程序
  19. 计算机硬件软件的英语,计算机软件和硬件,PC computer software and hardware,音标,读音,翻译,英文例句,英语词典...
  20. python在txt文件末尾追加写入_在Python文件末尾添加什么?

热门文章

  1. ASP.NET MVC:会导致锁定的会话
  2. java调用、执行groovy代码
  3. 不能修改“System Roots”钥匙串
  4. springmvc跨域问题
  5. java.lang.NumberFormatException: multiple points错误问题
  6. Oracle存储过程--案例
  7. IP多播技术及其应用
  8. Memcached 工作原理
  9. WebApp匯入資料之From Excel
  10. npm run dev 在本地调试出现跨域问题解决方法