ПеремикачіПеремикачі слугують для вибору одного варіанта серед запропонованих. Перемикач - це не єдиний об'єкт, а група об'єктів, тому спочатку створюється група перемикачів, а потім самі перемикачі за допомогою функції Radiobutton():ім'я_групи перемикачів=Int. Var()назва_ перемикача1= Radiobutton(назва_вікна, text=”Текст перемикача1”, variable= ім'я_групи_перемикачів, value=значення перемикача1)назва_перемикача1= Radiobutton(назва_вікна, text=”Текст перемикача2”, variable= ім'я_групи_перемикачів, value=значення перемикача2)…value — значення перемикача, яке буде набувати група перемикачів в залежності від вибору користувача. Зазвичай значення перемикача – це натуральні числа, починаючи від 1, хоча ви можете встановити і інші. Та головне щоб для всіх перемикачів вони були різними.ім'я групи перемикачів – це цілочисельна (lnt. Var) змінна із результатом вибору користувача програми. Для того, щоб отримати значення, яке набула група перемикачів потрібно застосувати метод get().
Нехай, ми маємо групу перемикачів grupa1, перший перемикач має значення 1, а другий - 2. Отже, якщо користувач вибере перший перемикач, то grupa1.get() буде мати значення 1. Аргументи variable, value та text є обов’язковими, без них перемикачі не будуть представляти із себе нічого. Але є й необов'язкові атрибути:· bg=”колір” - колір фону;· fg=”колір” - колір тексту;· font=”шрифт та розмір шрифту” - шрифт тексту кнопки. Кожен перемикач потрібно розмістити за допомогою методу place().
from tkinter import *window=Tk()window.geometry("400x400")perem=Int. Var()perem1=Radiobutton(window, text="Жовтий", variable=perem, value=1)perem1.place(x=100, y=200)perem2=Radiobutton(window, text="Рожевий", variable=perem, value=2)perem2.place(x=100, y=220)perem3=Radiobutton(window, text="Світло зелений", variable=perem, value=3)perem3.place(x=100, y=240)window.mainloop()Cтворимо вікно із розмірами 400x400, та створимо в ньому групу перемикачів, а саме три перемикачі із варіантами кольорів (жовтий, рожевий та світло зелений). І перший розмістимо в 100 пікселях від лівого краю та в 200 пікселях від верхнього краю, а кожен наступний на 20 пікселів нижче.
З самого початку жоден перемикач не вибраний, якшо ж ми хочемо, щоб на початку був одразу вибраний один із перемикачів, нам потрібно розміститипісля оголошення змінної групи перемикачів наступну конструкцію:ім'я_групи_перемикачів.set(значення_перемикача)Примітка. Метод get() призначений для одержання значення різних об’єктів, а метод set() для встановлення значення. Тобто, якщо ми маємо групу перемикачів perem, та два перемикача із значеннями 1 та 2 і ми хочемо аби одразу був вибраний перший перемикач, ми застосуємо наступний рядок коду:perem.set(1)
Створимо динамічну програму, яка буде, при натисканні на праву клавішу миші по області вікна, виводити вікно повідомлення з заголовком "Ваш вибір" та з варіантом, який обрав користувач. Створимо нову подію та функцію. Але перемикачі та прапорці працюють не так, як текстове поле, тому ми зможемо отримати лише номер вибраного перемикача, а отже будемо користуватися розгалуженням:from tkinter import *from tkinter import messageboxdef result(event): if perem.get()==1: pov="Жовтий" elif perem.get()==2: pov="Рожевий" else: pov="Світло зелений" messagebox.showinfo("Ваш вибір", pov)window=Tk()window.geometry("400x400")perem=Int. Var()perem1=Radiobutton(window, text="Жовтий", variable=perem, value=1)perem1.place(x=100, y=200)perem2=Radiobutton(window, text="Рожевий", variable=perem, value=2)perem2.place(x=100, y=220)perem3=Radiobutton(window, text="Світло зелений", variable=perem, value=3)perem3.place(x=100, y=240)window.bind("
ПрапорціПрапорців - це елементи управління не об’єднуються в трупи, тому, що активних прапорців може бути не обмежена кількість. Виглядають вони у неактивному стані i в активному стані по різному. Прапорці слугують для вибору декількох варіантів і тому кожен прапорець має свою змінну із значенням. Для створення прапорців призначена функція Checkbutton(), і застосовується вона так:назва_змінної=Int. Var()ім’я_прапорця= Checkbutton(назва_вікна, text=“Teкст прапорця", vаriable=назва_змінної, onvalue=значення_коли_прапорець_ввікнутий, ofvalue=значення_коли_прапорець_вимкнутий)Зазвичай в якості значення прапорця встановлюють 1 та 0 (в активному та неактивному стані), але вибір все одно залишається за автором програми.
Для прикладу візьмемо вікно з розмірами 500х500 пікселів та створимо напис із початковим текстом "Не вибрано". Також створимо чотири прапорці (перші два із варіантами кольорів та інші двоє із варіантами типів фарб). В залежності від нашого вибору текст напису буде змінюватися (у якості прикладу розглянемо лише 2 комбінації). Щоб реалізувати зміну тексту напису створимо подію Button-l для напису.from tkinter import *def newtext(event): if prap1.get()==1 and prap4.get()==1: label["text"]="Ви вибрали жовту гуаш" elif prap2.get()==1 and prap3.get()==1: label["text"]="Ви вибрали зелену акварель" window=Tk()window.geometry("400x400")label=Label(window, text="Не вибрано")label.place(x=100, y=50)prap1=Int. Var()prap2=Int. Var()prap3=Int. Var()prap4=Int. Var()prapor1=Checkbutton(window, text="Жовтий", variable=prap1, onvalue=1, offvalue=0)prapor1.place(x=100, y=100)prapor2=Checkbutton(window, text="Зелений", variable=prap2, onvalue=1, offvalue=0)prapor2.place(x=100, y=120)prapor3=Checkbutton(window, text="Акварель", variable=prap3, onvalue=1, offvalue=0)prapor3.place(x=100, y=160)prapor4=Checkbutton(window, text="Гуаш", variable=prap4, onvalue=1, offvalue=0)prapor4.place(x=100, y=180)label.bind("