如何使用tkinter删除行

时间:2017-02-19 21:45:37

标签: tkinter

我正在使用tkinter在python中创建一个程序,我需要一个canvas对象在一秒钟之后删除,但我不知道使用什么函数,我在这里找不到它是我的代码:

def click(event):
    canvas.create_line(event.x, event.y, coords)
    canvas.after(1000,canvas.delete)

canvas.bind('<B1-Motion>',click)

当我打电话给这条线路时就停留在那里。

2 个答案:

答案 0 :(得分:0)

在画布上创建项目时,tkinter将返回唯一标识符。只需保存标识符,并将其用作canvas.delete的参数。

def click(event):
    canvas_id = canvas.create_line(event.x, event.y, coords)
    canvas.after(1000, canvas.delete, canvas_id)

答案 1 :(得分:0)

简单地canvas.delete(the variable)喜欢:

from tkinter import *
from tkinter import Canvas
app = Tk()

canvas = Canvas(Screen, width=800, height=400)
canvas.pack()

Boom = canvas.create_line(200, 10, 200, 500)

Button(text="Click to del the line",font=("arial",10),bg="black",command=del_line).pack()

def del_line():
    canvas.delete(Boom)

app.mainloop()

就是这样。