Я делаю свою первую программу пользовательского интерфейса на Python, и мне нужна помощь в проверке цвета кнопки в выражении IF - PullRequest
0 голосов
/ 18 апреля 2019

Я делаю свою первую программу на Python UI (используя tkinter) и пытаюсь сделать кнопку.Когда вы нажимаете эту кнопку, я хочу, чтобы она стала красной, а затем, когда вы нажмете ее снова, она снова станет белой.Могу ли я получить некоторую помощь в проверке цвета фона в выражении if?

Я пробовал много вещей, например, если button.background == 'red': и if button.color == 'red': я тоже некоторое время искал в Интернете.

Это код, который у меня есть:

    main.title("My Window")
    main.geometry('800x600')

    def colorChange():
      if button == 'red':
            button.configure(background='white')
        else:
            button.configure(background='red')

    button = Button(master, text="Change Color", command=colorChange)
    button.pack()

Ответы [ 2 ]

2 голосов
/ 18 апреля 2019

Используйте функцию cget():

if button.cget('background') == 'red':
    # Code
0 голосов
/ 18 апреля 2019

Вот как бы я это сделал:

#!/usr/bin/python3
from tkinter import *

master = Tk()
master.title("My Window")
master.wm_resizable(0, 0)

button_color = 'red'

def colorChange () :
    global button_color
    if button_color == 'red' :
        button_color = 'white'
    else : button_color = 'red'
    button.config (bg = button_color)

button = Button (master, width = 12, bd = 4, bg = button_color,
    font = 'Ariel 12', text = 'Change Color',
    command = lambda : colorChange ())

button.pack ()

mainloop()
...