gpt4 book ai didi

python - 为什么 Tkinter 在绘图时会删除之前的矩形?

转载 作者:太空宇宙 更新时间:2023-11-03 15:26:18 26 4
gpt4 key购买 nike

当我在全局范围内绘制一个矩形时:

c = Canvas(width=IMAGE_WIDTH, height=IMAGE_HEIGHT, bg='black') 
c.create_rectangle([100, 100, 110, 110], fill='white')
c.pack()
root = Tk()

然后循环绘制多个矩形

class gDrawer :
def __init__(self) :
self.rect_array = []
self.x = 0
self.y = 0

def incr_counter(self,c,event=None):
one_pixel_loc = [self.x, self.y, self.x+5, self.y+5]
self.rect_array.append(c.create_rectangle(one_pixel_loc, fill='white'))
self.x += 1

gd = gDrawer()

for xx in range(100) :
print xx
gd.incr_counter(c)

root.mainloop()

单个绘制的矩形停留在 Canvas 上,而循环绘制的矩形移动而不是创建矩形轨迹。我想绘制一条矩形轨迹而不是移动的矩形轨迹,那么这是怎么回事?

最佳答案

矩形 的默认轮廓颜色是黑色。这使得当其他矩形的轮廓刚好重叠时,看起来好像没有绘制其他矩形。

尝试改变:

self.rect_array.append(c.create_rectangle(one_pixel_loc, fill='white'))

为此:

self.rect_array.append(c.create_rectangle(one_pixel_loc, fill='white', outline='white')

不确定这是否正是您要找的,希望对您有所帮助。

关于python - 为什么 Tkinter 在绘图时会删除之前的矩形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6332694/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com