鱼C论坛

 找回密码
 立即注册
查看: 3227|回复: 2

[已解决]我有点不太理解event.widget["text"] 这个是什么意思

[复制链接]
发表于 2020-8-1 21:14:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. from tkinter import *
  2. class App:
  3.     def __init__(self,master):
  4.         self.master = master
  5.         self.initWidgets()
  6.     def initWidgets(self):
  7.         self.show = Label(self.master,width=30,bg="white",font=("times",30))
  8.         self.show.pack()
  9.         bn = Button(self.master,text="单击我或双击我")
  10.         bn.pack(fill=BOTH,expand=YES)
  11.         #为左键单击事件绑定处理方法
  12.         bn.bind("<Button-1>",self.one)
  13.         #为左键双击事件绑定处理方法
  14.         bn.bind("<Double-1>",self.double)
  15.     def one(self,event):
  16.         self.show["text"] ="左键单击:%s" % event.widget["text"]
  17.     def double(self,event):
  18.         print("左键双击,退出程序:",event.widget["text"])
  19.         import sys;sys.exit()
  20. root =Tk()
  21. root.title("简单绑定")
  22. App(root)
  23. root.mainloop()
复制代码


现在我不懂一个是event 有什么用  而event.widget 这个是用来做什么的?  麻烦解答一下。
最佳答案
2020-8-1 21:28:28
本帖最后由 Twilight6 于 2020-8-1 21:30 编辑



event  是触发事件时候自动传入的一个参数,就是指代这个事件,而这个参数里面包括你点击了什么键位,鼠标位置啥的各种参数

widget 就是指被触发事件的组件名,而 widget['text'] 就是将这个组件的 text 参数读取出来

比如说你这里设置的触发事件时候组件名位 Button ,所以这里 widget['text'] 就是读取 Button 里面的  text 参数的值

所以这里的 event.widget 就是获取触发事件的组件名,然后 ['text'] 就是读取该组件的 text 的值

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-8-1 21:28:28 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Twilight6 于 2020-8-1 21:30 编辑



event  是触发事件时候自动传入的一个参数,就是指代这个事件,而这个参数里面包括你点击了什么键位,鼠标位置啥的各种参数

widget 就是指被触发事件的组件名,而 widget['text'] 就是将这个组件的 text 参数读取出来

比如说你这里设置的触发事件时候组件名位 Button ,所以这里 widget['text'] 就是读取 Button 里面的  text 参数的值

所以这里的 event.widget 就是获取触发事件的组件名,然后 ['text'] 就是读取该组件的 text 的值

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-1 21:29:20 | 显示全部楼层
通过bind绑定的处理函数,会有一个参数event就是事件本身,具体到你这个程序就是"<Button-1>"或者"<Double-1>",event.widget就是通过事件获取改时间所对应的控件,在你的程序中也就是获取控件bn,然后就可以通过["属性"]来获取控件的相关属性了,例如你的程序中获取的是按钮bn的text属性
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-29 05:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表