你必须做的唯一的事情是结合"<Button-1>"
和"<ButtonRelease-1>"
到画布:
from Tkinter import Tk, Canvas
start = None
def onclick_handler(event):
global start
start = (event.x, event.y)
def onrelease_handler(event):
global start
if start is not None:
x = start[0]
y = start[1]
event.widget.create_line(x, y, event.x, event.y)
start = None
master = Tk()
canvas = Canvas(master, width=200, height=200)
canvas.bind("<Button-1>", onclick_handler)
canvas.bind("<ButtonRelease-1>", onrelease_handler)
canvas.pack()
master.mainloop()
我不喜欢使用全局变量,它将所有小部件和相关函数封装在一个类中更加清晰。但是,作为一个例子,我认为这是很清楚的。
非常明确,谢谢! – user2103768 2013-02-26 15:54:52
我把这个标记为正确的答案,因为我采取了这种方法,我只是将它包装在课程中,我已经建立了,因此没有全局变量 – user2103768 2013-02-27 15:16:11