Віджет Radiobutton – клас перемикачів (радіокнопок).
name = Radiobutton(window)name – ім'я перемикача, window – ім'я вікна, на якому він розташовується
По замовчуванню перемикачі, розміщені на спільному вікні, не пов'язані один з одним і одночасно увімкнені. Зв'язок встановлюється через загальну змінну, різні значення якої відповідають включенню різних перемикачів у групі. У всіх перемикачів однієї групи властивість variable встановлюється в одне і те ж значення – пов'язану з групою змінну. А властивості value присвоюються різні значення цієї змінної.
Tkinter не може використовувати будь-яку змінну для зберігання станів віджетів. Для цих цілей передбачені спеціальні класи-змінні пакета tkinter – BooleanVar (приймає булеві значення), IntVar (приймає цілі значення), DoubleVar (приймає дробові та цілі значення), StringVar (приймає рядкові значення).
Таким чином, вибрати одну радіокнопку можна тільки серед групи радіокнопок, тобто у яких значення параметра variable рівні.
var = IntVar() # створюємо змінну, яка приймає цілі значенняvar.set(1) # встановлюємо перше значення для створеної змінноїrad1 = Radiobutton(root, text="Перша", variable=var, value=1) # створюємо перемикач зі значенням 1rad2 = Radiobutton(root, text="Друга", variable=var, value=2) # створюємо перемикач зі значенням 2rad3 = Radiobutton(root, text="Третя", variable=var, value=3) # створюємо перемикач зі значенням 3# розміщуємо перемикачі у вікніrad1.pack()rad2.pack()rad3.pack()from tkinter import * # імпортування графічної бібліотекиroot = Tk() # створення головного вікнаval = StringVar() # створення змінної для зв'язку між перемикачамиval.set("blue") # встановлення першого значення для створеної змінноїdef color(): # створення функції для зміни кольору фону тексту label.config(bg=val.get())# створення перемикачівblue = Radiobutton(root, text="Синій", variable=val, value="blue", command=color) # команда command прив'язує подіюblue.pack()yellow = Radiobutton(root, text="Жовтий", variable=val, value="yellow", command=color)yellow.pack()# створення текстуlabel = Label(root, text="Текст")label.pack()root.mainloop() # задання команди відображення вікна при запускуfrom tkinter import * # імпортування графічної бібліотеки# функція для зміни тексту мітки lab2, яку створимо нижчеdef f(): lab2.config(text="Ти навчаєшся у %s класі" % val.get())root = Tk() # створення головного вікнаlab1 = Label(root, text='Обери свій клас') # створення та розміщення мітки з текстом "Обери свій клас"lab1.pack()val = IntVar() # створення змінної для зв'язку між перемикачами, яка приймає цілі значенняval.set(1) # встановлення першого значення для створеної змінної# розміщення радіокнопок за допомогою циклу forfor i in range(11): Radiobutton(root, text='%s клас' % str(i+1), variable=val, value=i+1, command=f).pack()lab2 = Label(root, fg='red') # створення та розміщення мітки (значення тексту змінюємо у функції f() вище)lab2.pack()root.mainloop() # задання команди відображення вікна при запуску