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

for (lbl, val) in [("A", "a"), ("B", "b"))]:
rb = tk.Radiobutton(tab,
text=lbl,
variable=v,
value=val,
command=select,
selectcolor=gray,
indicatoron=0,
width=25, pady=7.5)
rb.pack(...)
tk.Radiobutton
имеет возможность настройки selectcolor
, которая является цветом фона при выборе, но, похоже, не предлагает такой опции для цвета переднего плана при выборе.
Я подумал , что можно было бы достичь этого, задав command
срабатывают на выборе , который будет на этой радиокнопке , который выбран, но это потребует доступ извне свойства радиокнопок себя, а не только значения переменных они установили, что я нашел пока нет возможности сделать.rb.config
foreground
Как мне получить вариант по линиям selectforeground
?
Ответы
Используйте для этого анонимную функцию :
import tkinter as tk
def select(rb):
rb.config(foreground='white')
for rb_ in rbs:
if rb_ != rb:
rb_.config(fg='black')
root = tk.Tk()
rbs=[]
def do_buttons():
for _ in range(11):
v=tk.IntVar()
val = 1
rb = tk.Radiobutton(root,
text="A",
variable=v,
value=val,
selectcolor='gray',
indicatoron=0,
width=25, pady=7.5)
rb.config(command=lambda arg=rb:select(arg))
rb.pack()
rbs.append(rb)
b = tk.Button(root, text='click', command=do_buttons)
b.pack()
root.mainloop()