我想在添加一些小部件后更改画布大小
示例:
from Tkinter import *
master = Tk()
w = Canvas(master, width=100, height=100)
w.config(bg='white')
w.create_oval(90,90,110,110, width=0, fill = "ivory3")
w = Canvas(master, width=200, height=200)
w.pack()
mainloop()
但似乎当我重新声明画布大小时,对象会被移除。 在画布上创建了一些对象之后,是否可以更新画布?
使用
.config()
命令可以轻松地调整画布大小,如下所示:x
和y
表示整数(整数)。您还可以添加一些其他自定义属性,如bg
(background
),以进一步自定义画布。另外,您在最后创建了一个全新的画布,所以这就是您的属性消失的原因。可以通过删除以
w =
开头的最后两行代码来解决这个问题。您要寻找的是configure选项,正如文档化的here。基本上,类似这样的东西应该会有帮助,而不是创建一个新的画布:
作为参考,之所以删除画布上的所有内容,是因为您创建了一个全新的画布,具有不同的大小和相同的名称。如果要更改现有对象的属性,则必须更改现有对象,而不是覆盖它。基本上,如果声明某个内容等于另一个内容(
w=Canvas
(…)),则覆盖该内容。相关问题 更多 >
编程相关推荐