我知道canvas = tkinter.Canvas(bg='red')创建了一个背景颜色为红色的画布。由于背景颜色是在创建新画布时选择的,有没有办法在以后的程序中更改背景颜色而不创建新画布?
我能想到的最好的解决方案是创建一个大矩形,它用所需的背景颜色覆盖整个屏幕,但实际的背景颜色在我这样做后保持不变,并在我清除画布时显示出来。
发布于 2020-05-01 08:21:19
您可以使用所有小部件上都存在的configure方法,并在canvas上调用它来修改background选项:
在下例中,您可以通过单击画布来更改背景颜色:
import tkinter as tk
def change_color(dummy_e):
canvas.configure(bg='cyan')
root = tk.Tk()
canvas = tk.Canvas(root, bg='red')
canvas.pack()
canvas.bind('<1>', change_color)
root.mainloop()https://stackoverflow.com/questions/61534908
复制相似问题