修改上述代码,将command1设置为自动触发。每隔两百毫秒刷新一次指定坐标点的颜色值,并显示在text3中
时间: 2024-02-27 10:53:33 浏览: 13
您可以使用`after`方法来实现每隔一段时间执行函数的自动触发。修改后的代码如下:
```python
from tkinter import *
import random
def change_color():
x, y = 50, 50 # 指定坐标点
color = "#{:06x}".format(random.randint(0, 0xFFFFFF)) # 随机生成颜色值
canvas.itemconfig(rectangle, fill=color) # 修改指定坐标点的颜色
text3.delete('1.0', END) # 清空text3
text3.insert(END, color) # 将颜色值显示在text3中
root.after(200, change_color) # 每隔200毫秒刷新一次颜色值
root = Tk()
canvas = Canvas(root, width=200, height=200)
canvas.pack()
rectangle = canvas.create_rectangle(50, 50, 150, 150, fill="red")
text1 = Label(root, text="颜色值:")
text1.pack()
text2 = Text(root, width=20, height=1)
text2.pack()
text3 = Text(root, width=20, height=1)
text3.pack()
root.after(0, change_color) # 初始触发
root.mainloop()
```
这样,程序会在启动后立即触发一次`change_color`函数,并且之后每隔200毫秒会再次触发。`text3`会被清空并显示最新的颜色值。