如何在tkinter中更改按钮的选项?

2024-09-28 01:23:21 发布

您现在位置:Python中文网/ 问答频道 /正文

from tkinter import *


bgColour="lightblue"

def changeColour():
    bgColour="lightgreen"

def settings():
    global window1

    window1=Tk()
    window1.minsize(width=400, height=600)
    window1.maxsize(width=400, height=600)
    window1.title("Boja pozadine")
    bg_colour1 = Frame(window1, bg=bgColour, width=400, height=600)
    bg_colour1.pack()

    naslov_bojaPozadine = Label(window1,
                                text="Background color",
                                bg=bgColour,
                                font=("Arial", 15, "bold"))
    naslov_bojaPozadine.place(x=20,y=10)

    light_blue = Button(window1, text="Light blue", bg=bgColour, bd=3)
    light_blue.place(x=20,y=50, width=100)
    light_green = Button(window1,text="light green", command=changeColour)
    light_green.place(x=20,y=80, width=100)

settings()
window1.mainloop()

如何用按钮替换所有bg颜色? 你能帮忙吗?我正在制作应用程序。 为什么我需要添加更多的细节,如果我有太多的细节? 这是怎么回事?你知道吗


Tags: textsettingsdefplacegreenbluewidthlight
1条回答
网友
1楼 · 发布于 2024-09-28 01:23:21

我不完全确定我是否理解你的问题,但也许下面的内容会有所帮助。我在changeColour()中添加了一个参数,它告诉我们要更改什么小部件,并修改了传递给它的command关键字参数,以便在调用它时传递给它。另外在另一个按钮中添加了一个类似的command,它将把颜色改回默认值。你知道吗

bgColour = "lightblue"  # Default background colour.

def changeColour(widget, colour):
    widget.configure(bg=colour)

def settings():
    global window1

    window1=Tk()
    window1.minsize(width=400, height=600)
    window1.maxsize(width=400, height=600)
    window1.title("Boja pozadine")
    bg_colour1 = Frame(window1, bg=bgColour, width=400, height=600)
    bg_colour1.pack()

    naslov_bojaPozadine = Label(window1,
                                text="Background color",
                                bg=bgColour,
                                font=("Arial", 15, "bold"))
    naslov_bojaPozadine.place(x=20,y=10)

    light_blue = Button(window1, text="Light blue", bg=bgColour, bd=3,
                        command=lambda: changeColour(bg_colour1, bgColour))
    light_blue.place(x=20,y=50, width=100)
    light_green = Button(window1,text="light green",
                         command=lambda: changeColour(bg_colour1, "light green"))
    light_green.place(x=20,y=80, width=100)

settings()
window1.mainloop()

相关问题 更多 >

    热门问题