Как изменить цвет фона холста Ткинтера после его создания? - PullRequest
2 голосов
/ 01 мая 2020

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

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

1 Ответ

2 голосов
/ 01 мая 2020

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