Обновить цвет метки переднего плана с помощью переменной в реальном времени - PullRequest
0 голосов
/ 17 октября 2019

Мне не очень повезло, исследуя эту конкретную задачу. Я хотел бы обновить цвет текста на переднем плане в зависимости от того, является ли число отрицательным или положительным. Если число отрицательное, оно отображается красным текстом. Если оно положительное, оно отображается зеленым цветом.

Я проверяю, отрицательно оно или нет, сравнивая две переменные. Если total больше или равно минимум , то это положительное число, и наоборот. Это, вероятно, сбивает с толку, но если у вас всего 30, но минимум равен 35, тогда myvar равен -5.

Установка операторов if над меткой, очевидно, будет работать только в первый раз (при запуске программы)

if total.get() >= minimum.get():
    Label(root, textvariable=myvar, fg="green")
if total.get() < minimum.get(): # or an else statement here
    Label(root, textvariable=myvar, fg="red")

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

test_label.configure(foreground="green") #or test_label.config(fg="green")?

Сейчас мне интересно, могу ли я использовать переменную (аналогично обновлению textvariable внутри метки), ноЯ не был успешным.

my_fg = tk.StringVar()
my_fg.set("green") #otherwise the game won't open

Label(root, textvariable=myvar, fg=my_fg.get())

def change_fg():
    if total.get() >= minimum.get():
        my_fg.set("green")
    else:
        my_fg.set("red")

Этот последний пример не возвращает никаких ошибок, но он также не работает. Кто-нибудь знает правильный синтаксис / подход к этому? Особенно простой / простой способ, если это возможно.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...