Как изменить параметры кнопки в tkinter? - PullRequest
0 голосов
/ 27 января 2019
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 цвета с кнопки? Можете ли вы помочь, пожалуйста Я делаю приложение. Почему мне нужно добавить больше деталей, если у меня слишком много деталей?Что с этим происходит?

1 Ответ

0 голосов
/ 27 января 2019

Я не совсем уверен, что понимаю ваш вопрос, но, возможно, это поможет следующее.Я добавил в 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...