Как изменить цвет фона Canvas при нажатии кнопки, используя tkinter в python - PullRequest
0 голосов
/ 10 мая 2018

Я хотел создать простую программу для изменения цвета фона canvas в python с помощью tkinter.

Должно работать так:

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

Мне нужна простая программа без классов, если это возможно.

1 Ответ

0 голосов
/ 10 мая 2018

Попробуйте это:

from tkinter import *
from random import choice

colors = ['red', 'green', 'blue']

root = Tk()
root.geometry("100x100")

button = Button(root, text="Button1", command=lambda: root.configure(bg=choice(colors)))

button.pack()

root.mainloop()

Добро пожаловать!

from tkinter import * 
from random import choice

colors = ['red', 'green', 'yellow']

top=Tk() 
top.title("Canvas Example 1") 

C=Canvas(top, bg="blue", height=250, width=400) 

line=C.create_line(10,10,250,250,fill="red") 
rect=C.create_rectangle(50, 25, 150, 75, fill="red") 

button1 = Button(top, text = "Change color", anchor = W, command=lambda: C.configure(bg=choice(colors))) 
button1.configure(width = 10, activebackground = "#33B5E5", relief = FLAT) 

button1_window = C.create_window(10, 10, anchor=NW, window=button1) 

C.pack() 
top.mainloop()

Вы также можете заменить оператор в lambda на определенную функцию.

def backgroundChanger(item):
    ...

button = Button(top, text='', command=lambda: backgroundChanger(C))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...