Python新手,需要等效的事件侦听器吗?

Python新手,需要等效的事件侦听器吗?,python,tkinter,Python,Tkinter,在脚本中的某个特定点,我需要将变量设置为在TKinter画布上单击的坐标。我认为,canvas.bind不会工作,因为它在单击时只运行指定的函数。我需要的是某种等价于x=raw\u input()。非常感谢您的帮助。下面是一个简单的代码片段,用于保存画布小部件中的坐标。使用bind是您想要的 import Tkinter as tk class Application(tk.Frame): def __init__(self, master): tk.Frame.__i

在脚本中的某个特定点,我需要将变量设置为在
TKinter
画布上单击的坐标。我认为,
canvas.bind
不会工作,因为它在单击时只运行指定的函数。我需要的是某种等价于
x=raw\u input()
。非常感谢您的帮助。

下面是一个简单的代码片段,用于保存
画布
小部件中的坐标。使用
bind
是您想要的

import Tkinter as tk

class Application(tk.Frame):
    def __init__(self, master):
        tk.Frame.__init__(self, master)
        self.canvas = tk.Canvas(self.master, width=400, height=400)
        self.canvas.bind('<Button-1>', self.coordinates)
        self.canvas.pack()

    def coordinates(self, event):
        self.x = (event.x, event.y) # set x (or another attr) to coordinate tuple

if __name__ == "__main__":
    root = tk.Tk()
    app = Application(root)
    app.mainloop()
将Tkinter作为tk导入
类应用程序(tk.Frame):
定义初始(自我,主):
tk.Frame.\uuuuu init\uuuuuuu(自,主)
self.canvas=tk.canvas(self.master,宽度=400,高度=400)
self.canvas.bind(“”,self.coordinates)
self.canvas.pack()
def坐标(自身、事件):
self.x=(event.x,event.y)#设置x(或另一个attr)来协调元组
如果名称=“\uuuuu main\uuuuuuuu”:
root=tk.tk()
app=应用程序(根)
app.mainloop()

听起来这是您所需要的全部,但如果没有,您可能需要提供一些当前代码。

我认为这就是您需要的
。绑定
并处理单击事件-事件对象将鼠标的x和y坐标作为其属性