如何在创建tkinter画布后更改其背景颜色



我知道canvas = tkinter.Canvas(bg='red')创建了一个背景色为红色的画布。由于背景色是在创建新画布时选择的,有什么方法可以在以后的程序中更改它而不创建新画布吗?

我能想到的最好的解决方案是创建一个大矩形,用所需的背景色覆盖整个屏幕,但在我这样做之后,实际的背景色保持不变,并在我清除画布时显示出来。

您可以使用所有小部件上存在的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()

最新更新