2024-10-02 16:21:40 发布
网友
正如标题所说,我在Tkinter中的一个运动触发事件处理程序中获取光标的位置。在
我想用位置更新现有的标签小部件。但是,我一辈子都不知道如何在事件处理程序中编辑Label文本字段(或与此相关的任何外部对象)。据我所知,event是传递给处理程序的唯一参数,这意味着我不能传递label对象。在
Label
如何访问处理程序外部的对象?在
Tkinter不会在事件处理程序中传递对象,以及它如何知道您对哪个对象感兴趣?在
相反,您的责任是从事件处理程序访问要更新的对象,例如,您的事件处理程序可以是简单的函数,它可以访问全局对象,也可以是一个对象的方法,可以通过self访问该对象。在
下面是一种使用全局对象的方法
from Tkinter import * root = Tk() frame = Frame(root) frame.configure(width=300,height=300) def onmotion(event): root.title("Mouse at %s,%s"%(event.x, event.y)) frame.bind("<Motion>", onmotion) frame.pack() root.title("Event test") root.mainloop()
同样的事情也可以用面向对象的方式完成
Tkinter不会在事件处理程序中传递对象,以及它如何知道您对哪个对象感兴趣?在
相反,您的责任是从事件处理程序访问要更新的对象,例如,您的事件处理程序可以是简单的函数,它可以访问全局对象,也可以是一个对象的方法,可以通过self访问该对象。在
下面是一种使用全局对象的方法
同样的事情也可以用面向对象的方式完成
^{pr2}$相关问题 更多 >
编程相关推荐