Полностью изменить цвет разных виджетов в tkinterPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Полностью изменить цвет разных виджетов в tkinter

Сообщение Anonymous »

Я хочу полностью изменить цвета конфигурации разных виджетов на один и тот же цвет, когда пользователь нажимает на виджеты входа.
Я создал функцию «change_color(color) ", где все мои виджеты настраиваются на цвет, передаваемый в качестве аргумента.
Проблема в том, что в коде много виджетов, и мне приходится вручную добавлять каждый виджет в функцию, чтобы держите их в курсе. Я не могу использовать список, так как некоторые параметры виджетов отличаются, например: изменение переднего плана виджета входа, фона меток и многого другого. Пожалуйста, дайте мне знать, если есть лучший способ сделать это.
Вот небольшой пример моей программы. Мой основной код очень длинный, и его нельзя публиковать здесь.

Код: Выделить всё

import tkinter as tk

def change_color(color):
"Change color of widgets."
window.config(bg=color)
user_label.config(bg=color)
pass_label.config(bg=color)
user_entry.config(highlightbackground=color)
pass_entry.config(highlightbackground=color)
user_entry.config(fg=color, insertbackground=color)
pass_entry.config(fg=color, insertbackground=color)

window = tk.Tk()
# username
user_label = tk.Label(window, text='Username')
user_entry = tk.Entry(window, bg='black')
# password
pass_label = tk.Label(window, text='Password')
pass_entry = tk.Entry(window, bg='black')
user_label.grid(row=0, column=0)
user_entry.grid(row=0, column=1)
pass_label.grid(row=1, column=0)
pass_entry.grid(row=1, column=1)
# changes color
user_entry.bind("", lambda _: change_color("#99c9ff"))
pass_entry.bind("", lambda _: change_color("#ffaf99"))
window.mainloop()
Надеюсь, из этого примера вы сможете получить представление. Если что-то неясно, спросите меня в разделе комментариев.

Подробнее здесь: https://stackoverflow.com/questions/620 ... in-tkinter
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»