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

立即学习: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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/256863.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

samba

安装配置samba&#xff1a; 准备工作&#xff1a; 173/udp(NetBIOS) 138/udp 139/tcp 445/tcp 这些端口已经启动。 然后确定selinux已经关闭&#xff08;#getenforce&#xff09;。 一般我们装好系统之后samba都会安装的&#xff1a;yum list all samba* 这里我选用的是samba3x…

1 week110的zookeeper的安装 + zookeeper提供少量数据的存储

下面是在weekend110上的zookeeper的安装 在此之前&#xff0c;先进行快照备份。 在这里&#xff0c;为了后续的zookeeper配置需要&#xff0c;在/home/hadoop/下&#xff0c;新建data目录&#xff0c;再新建zookeeper-3.4.6目录&#xff0c;再新建zkdata目录。 默认情况下&…

学习笔记(47):Python实战编程-pack布局

立即学习:https://edu.csdn.net/course/play/19711/343109?utm_sourceblogtoedu pack布局&#xff1a; 1&#xff09;最常用的布局&#xff0c;顺序排列布局方法 2&#xff09;完成了简单的组件位置码放&#xff0c;但如果内部布局处理机制跟不上的话&#xff0c;也可能会达…

ASP.NET Web API 应用教程(一) ——数据流使用

相信已经有很多文章来介绍ASP.Net Web API 技术&#xff0c;本系列文章主要介绍如何使用数据流&#xff0c;HTTPS&#xff0c;以及可扩展的Web API 方面的技术&#xff0c;系列文章主要有三篇内容。 主要内容如下&#xff1a; I 数据流 II 使用HTTPS III 可扩展的Web API 文档…

windows安装64位Pygame方法

因为官方网站http://www.pygame.org/download.shtml并没有提供64位的pygame&#xff0c;所以要找其他网站制作的64位安装文件。 如果你已经在你的64位开发环境中安装了32位的pygame&#xff0c; 那么在导入pygame包的时候&#xff0c; 会有提示&#xff1a; ImportError: DLL l…

学习笔记(48):Python实战编程-grid布局

立即学习:https://edu.csdn.net/course/play/19711/343110?utm_sourceblogtoedu grid布局&#xff1a;根据表结构进行的布局&#xff0c;索引为0行0列开始&#xff0c;最具代表性的即使电脑计算器的数字和符号按键布局 组件.grid(row 行索引号 &#xff0c; column 列索引号…

为什么“三次握手,四次挥手”?

前言&#xff1a; 如果你说你懂IT,你懂计算机网络&#xff0c;那么你会怎么解释“三次握手&#xff0c;四次挥手”&#xff1f; ---------------- 1.TCP报文段首部格式&#xff1a; 2.TCP建立连接图 -------------------------------------------- 符号说明 seq:"sequance…

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

立即学习:https://edu.csdn.net/course/play/19711/343111?utm_sourceblogtoedu 1.place布局&#xff1a; 1&#xff09;最灵活的布局方式&#xff0c;是根据坐标点来进行组件的位置布局的 2&#xff09;确定坐标点后&#xff0c;组件从坐标点开始展开&#xff0c;即以指定…

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

立即学习:https://edu.csdn.net/course/play/19711/343112?utm_sourceblogtoedu 1.Frame:是内嵌布局管理器&#xff0c;针对不同功能的组件进行区域划分&#xff0c;在各自的区域内可以使用不同的布局&#xff0c;但是总的frame布局方式还是一致的 2.以计算器为例 步骤&#…

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

立即学习:https://edu.csdn.net/course/play/19711/343113?utm_sourceblogtoedu listbox 知识点&#xff1a; 1)创建listbox: self.item_listbox tkinter.Listbox(self.root,selectmode "multiple", font("微软雅黑",12),fg "black",bg &…

C++简单工厂模式

核心思想&#xff1a;用一个工厂类根据不同的输入条件new出不同的派生类指针&#xff0c;然后由多态调用不同派生类中virtual函数&#xff0c;得到不同的结果 所有的判断处理在工厂类中完成&#xff0c;通过CreateFactory函数&#xff0c;根据不同的类型&#xff0c;new出派生类…

Linux文本查看命令之touch

touch可以用来创建文件或者修改文件的时间戳如果touch的文件不存在&#xff0c;就创建改文件touch命令可以修改文件的Access time和 Modify time-a 可以仅修改Access time注意&#xff1a;由于Access time的改变&#xff0c;Change time也改变了&#xff0c;但是如果cat该文件&…

使用腾讯开发平台获取QQ用户数据资料

<今天是七夕&#xff1a;祝大家七夕嗨皮&#xff0c;前可么么哒&#xff0c;后可啪啪啪> Tips&#xff1a;本篇博客将教你如何使用腾讯开发平台获取QQ用户资料 ------------------------------------------------------------------------------------------------------…

LINUX REDHAT第十单元文档

1.系统日志默认分类#### /var/log/messages##系统服务及日志&#xff0c;包括服务的信息&#xff0c;报错等等 /var/log/secure##系统认证信息日志 /var/log/maillog##系统邮件服务信息 /var/log/cron##系统定时任务信息 /var/log/boot.log##系统启动信息 2.日志管理服务rsyslo…

Spring4 MVC文件下载实例

这篇文章将向您展示如何使用Spring MVC4执行文件下载&#xff0c;我们将看到应用程序从文件系统内部以及外部文件下载文件。本教程的主要亮点&#xff1a; 下载文件是相当简单的&#xff0c;涉及以下步骤。 创建一个InputStream到文件用于下载。查找MIME类型下载文件的内容。–…

不可不知的:iOS开发的22个诡异技巧

结合自身的实践开发经验总结出了22个iOS开发的小技巧&#xff0c;以非常欢乐的语调轻松解决开发过程中所遇到的各种苦逼难题&#xff0c;光读着便已忍俊不禁。 1. TableView不显示没内容的Cell怎么办&#xff1f; 类似于图1&#xff0c;我不想让下面的那些空显示。很简单&#…

linux删除之前的文件日志

linux下每天都在产生LOG日志文件&#xff0c;如果不定期删除&#xff0c;迟早挤爆硬盘&#xff0c;如果手动删除&#xff0c;几次可以&#xff0c;不是长久之计。这些事交给Linux系统就可以解决。 试验环境&#xff1a; 系统&#xff1a;CentOS 6.5 x64 测试路径、测试文件名、…

线程操作范例

实例要求&#xff1a; 设计一个线程操作类&#xff0c;要求可以产生三个线程对象&#xff0c;并可以分别设置三个线程的休眠时间。如下所示&#xff1a; 问怎么设计&#xff1f; 分析 从之前学习知道&#xff0c;线程的实现有两种方式&#xff0c;一种是继承Thread类&#xff0…

【转】Unity3D研究院之使用Xamarin Studio调试Unity程序

如果你是在windows上开发&#xff0c;就无视这篇文章吧。 为什么要用Xamarin Studio 你可以看看我之前的文章 http://www.xuanyusong.com/archives/2683 unity4.x 和 unity5.x都可以用Xamarin Studio 来调试&#xff0c;亲测&#xff01; 先下载插件&#xff1a;http://files.u…

学习笔记(56):Python实战编程-Menu

立即学习:https://edu.csdn.net/course/play/19711/343119?utm_sourceblogtoedu 1.菜单menu: 1&#xff09;弹出式菜单&#xff0c;类似与电脑桌面右击弹出的菜单成为弹出菜单&#xff1b; 2&#xff09;窗体式菜单&#xff1a;类似于word上面的菜单栏 2.窗体菜单创建的步骤…