0

TKinter在我的脚本中的特定点,我需要将一个变量设置为在画布上单击的坐标。我认为它canvas.bind不会起作用,因为它只会在单击时运行指定的功能。我需要的是某种等价于x = raw_input(). 帮助将不胜感激。

4

1 回答 1

2

这是一个用于保存Canvas小部件坐标的简单片段。使用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()

听起来这就是您所需要的,但如果不是,您可能必须提供一些当前代码。

于 2013-05-19T08:38:31.310 回答