你必須做的唯一的事情是結合"<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