如何将canvas所画的图形清除或者删除掉?
2个回答
展开全部
很简单用delete就可以啦,例如:
from tkinter import *
root = Tk()
canvas = Canvas(root,width=500,height=500,bd=0)
canvas.pack()
p = canvas.create_line(50, 100, 50, 120, fill='red')
def echo_event(evt):
canvas.delete('all')
root.bind('<KeyPress-1>',echo_event)
root.mainloop()
或者:
from tkinter import *
root = Tk()
canvas = Canvas(root,width=500,height=500,bd=0)
canvas.pack()
p = canvas.create_line(50, 100, 50, 120, fill='red')
def echo_event(evt):
canvas.delete(p)
root.bind('<KeyPress-1>',echo_event)
root.mainloop()
这里注意:canvas.delete('all')是清除全部图形,特别是有别名的图形(有别名的图形的命令是例如:canvas.create_line(0,480,0,490,tag='w')这里只是举例其实tag=''引号里加你给这个图形起的外号)而canvas.delete(一个canvas对象的定义)是删除被你定义的一个图形。(一个canvas对象的定义就例如这条命令:q = canvas.create_line(0,480,0,490)这里也是举例,其实就是个变量,在canvas.delete()你给这个图形的数据传给了哪个字母、单词……你就加哪个字母、单词……)
from tkinter import *
root = Tk()
canvas = Canvas(root,width=500,height=500,bd=0)
canvas.pack()
p = canvas.create_line(50, 100, 50, 120, fill='red')
def echo_event(evt):
canvas.delete('all')
root.bind('<KeyPress-1>',echo_event)
root.mainloop()
或者:
from tkinter import *
root = Tk()
canvas = Canvas(root,width=500,height=500,bd=0)
canvas.pack()
p = canvas.create_line(50, 100, 50, 120, fill='red')
def echo_event(evt):
canvas.delete(p)
root.bind('<KeyPress-1>',echo_event)
root.mainloop()
这里注意:canvas.delete('all')是清除全部图形,特别是有别名的图形(有别名的图形的命令是例如:canvas.create_line(0,480,0,490,tag='w')这里只是举例其实tag=''引号里加你给这个图形起的外号)而canvas.delete(一个canvas对象的定义)是删除被你定义的一个图形。(一个canvas对象的定义就例如这条命令:q = canvas.create_line(0,480,0,490)这里也是举例,其实就是个变量,在canvas.delete()你给这个图形的数据传给了哪个字母、单词……你就加哪个字母、单词……)
2013-08-04
展开全部
楼主的问题是怎么解决的?我最近也遇到了同样的问题我想画扇形,每隔1S更新一下扇形的面积不知道该怎么样更新?请指导一下 先谢谢你了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询