Я исправил ваш код с помощью функции .config()
. В функции изменения фона вы не пытаетесь изменить фон. Вы меняете только StringVar()
, что в любом случае не меняет фон.
Я также сделал ваш gui лучше, вот так:
import tkinter
background = "white"
okno = tkinter.Tk()
okno.title("Project")
okno.config(bg = "white")
platno = tkinter.Canvas(okno, height = 300, width = 300, bg = background, highlightthickness = 0)
platno.pack()
def background_color():
background = vstup2.get()
try:
platno.config(bg = background)
except:
pass
tkinter.Label(okno,text = "Background color :", bg = "white", width = 30).pack()
vstup2 = tkinter.StringVar()
tkinter.Entry(okno,textvariable = vstup2, bg = "white").pack()
tkinter.Button(okno,width=30, text="Set the color of a background", command=background_color, relief = "flat", activebackground = "white", bd = 0, bg = "white").pack()
okno.mainloop()
Вывод:
Вы также должны добавить а .mainloop()
в конце. В некоторых текстовых редакторах, если вы этого не добавите, программа не будет работать должным образом.
Надеюсь, это поможет!