Урок № 57. Перемикачі.
Сьогодні ми ознайомимося ще з іншими
способами введення даних є перемикачі та прапорці. Вони представлені у вигляді
невеликих списків можливістю вибору одного(перемикачі) або декількох(прапорців
(варіантів).
Оскільки перемикачі служать для вибору
одного варіанта серед запропонованих, то вони представлені групую, який
активним може бути тільки один перемикач. Якщо перемикач обрано, то всередині
з’являється позначка .
Перемикач
– це не єдиний об’єкт, а група об’єктів,
тому спочатку створюється група перемикачів, а потім самі перемикачів за
допомогою функції Radiobutton():
ім’я_групи_перемикачів=IntVar()
назва_перемикача1=Radiobutton(назва_вікна, text=”Текст
перемикача1”, variable=ім’я_групи_перемикачів, value=значення_перемикача1)
назва_перемикача2=Radiobutton(назва_вікна, text=”Текст
перемикача2”, variable=ім’я_групи_перемикачів, value=значення_перемикача2)
…..
value – значення перемикача, яке буде набувати група
перемикачів в залежності від вибору користувача. Переважно значення перемикача
– це натуральні числа, починаючи від 1, хоча ви можете встановити і інші. Та
головне щоб для всіх перемикачів вони були різними.
Ім’я
групи перемикачів – це
цілочисельна (IntVar) змінна із
результатом вибору користувача програми. А щоб отримати значення, яке набула
група перемикачів потрібно застосувати метод get(), з яким ми вже знайомі.
Наприклад, ми маємо групу
перемикачів grupa1,
перший перемикач має значення 1, а другий – 2. Якщо користувач вибере перший
перемикач, то gpupa1.get() буде мати
значення 1.
Аргументи variable, value, text – обов’язкові, без них перемикачі не будуть
функціонувати. Але атрибути є необо’язкові:
·
bg=”колір“ – колір фону;
·
fg=”колір“ – колір тексту;
·
font=”шрифт та розмір
шрифту“ – шрифт тексту кнопки.
Кожен перемикач потрібно розмістити за
допомогою метода place().
Приклад
1.
Створимо вікно із розміром 400х400, та
створимо в нього групу перемикачів, а саме три перемикачі із варіантом кольорів
(жовтий, рожевий та світло зелений). Перший розмістимо на 100 пікселів від
лівого краю та на 200 пікселів від верхнього краю, а кожен наступний на 20
пікселів нижче.
Зверніть увагу! З самого початку жоден перемикач не вибраний, якщо потрібно, щоб на
початку був вибраний один із перемикачів, потрібно розмістити після оголошення
змінної групи перемикачів наступну конструкцію:
ім’я_групи_перемикачів.set(значення_перемикача
Примітка. Метод get(), з яким ми вже
працювали призначений для одержання значення різних об’єктів, а метод set() встановлення
значення.
Наприклад, якщо ми маємо групу
перемикачів per
(три перемикачі із значенням 1, 2 та 3) потрібно щоб одразу був вибраний перший
перемикач. Застосуємо таку команду:
per.set(1)
Приклад
2. Для вікна з прикладу 1, при
натисканні на праву клавішу миші по області вікна, виведеться вікно
повідомлення з заголовком «Ваш вибір» та з варіантом, який обрав користувач.
Створимо нову подію та функцію. Для
перемикачі ми зможемо отримати лише номер вибраного перемикача (будемо
використовувати розгалуження):
Зверніть увагу! Для більш зручного виведення інформації створено додаткову змінну pov. pov – змінна, яка містить повідомлення для виведення, і в залежності від вибору
користувача, значення цієї змінної буде змінюватися.