Как изменить цвет фона холста tkinter после его создания?

Я знаю, что canvas = tkinter.Canvas(bg='red') создает холст с красным цветом фона. Поскольку цвет фона выбирается при создании нового холста, есть ли способ изменить его позже в программе без создания нового холста?

Лучшее решение, которое я могу придумать, - это создать большой прямоугольник, который покрывает весь экран с желаемым цветом фона, но фактический цвет фона остается прежним после того, как я это сделаю, и раскрывается, когда я очищаю холст.


person Connor    schedule 01.05.2020    source источник


Ответы (1)


Вы можете использовать метод 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()
person Reblochon Masque    schedule 01.05.2020