如何在python中使用tkinter使用按钮更改Canvas背景颜色

时间:2018-05-10 10:13:12

标签: python python-3.x tkinter

我想创建一个简单的程序来使用tkinter在python中更改画布的背景颜色。

这应该是这样的:

假设画布的当前背景颜色为红色,用户单击画布上的按钮,然后颜色变为蓝色,用户再次单击画布上的按钮,此时颜色变为黄色。

如果可能的话,我需要一个没有课程的简单程序。

1 个答案:

答案 0 :(得分:0)

试试这个:

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))