创建 tkinter Canvas 后如何更改其背景颜色?

Con*_*nor 6 python tkinter tkinter-canvas

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

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

Reb*_*que 8

您可以使用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()
Run Code Online (Sandbox Code Playgroud)