如何在Tkinter画布中的线上重绘

时间:2019-04-09 13:22:07

标签: python-3.x tkinter tkinter-canvas

我在Tinter画布中有一些lines,也有他们的代码。我想使它们变成红色,但不是立即使它们变成另一行(红线),但是应该花费不同的时间。例如,对于一条特定的线,该线变为红色应花费3秒钟,而对于另一条线,该红色应花费7秒。就像在前一条上画了另一条红线。

   def activator(self, hexagon, duration_time):
    if not hexagon.is_end:


         self.canvas.itemconfigure(hexagon.drawn, fill="tomato")
         self.canvas.itemconfigure(hexagon.hex_aspects.outputs.drawn, fill="tomato")

例如,我希望通过tinter的createpolygon方法创建的六边形变为红色,但不能立即变为红色。它应该对第二个变量duration_time进行处理。我的意思是应该在duration_time秒(比如说3秒)内完成。 有什么办法吗?我的画布中有很多物体,它们在特定时间会变红。线,圆,多边形..

2 个答案:

答案 0 :(得分:0)

要在画布上绘制东西,请使用create方法添加新项目。

from Tkinter import *

master = Tk()

w = Canvas(master, width=200, height=100)
w.pack()

w.create_line(0, 0, 200, 100)
w.create_line(0, 100, 200, 0, fill="red", dash=(4, 4))

w.create_rectangle(50, 25, 150, 75, fill="blue")

答案 1 :(得分:0)

为此,您可以绘制它,并具有一个在不同时间绘制每个图像的功能:

from Count to 1 step -1

对于每种形状,但对于直线,不执行fill参数。