Перемикачі
За навчальною програмою 2017 року
Урок 57
8
teach-inf.com.ua
Перемикачі та їх властивості
Розділ 6 § 6.9
Розглянемо компонент перемикач. Перемикачі використовують для вибору тільки одного варіанта з кількох можливих.
Якщо у вікні розміщено кілька перемикачів, то серед них можна вибрати тільки один.
Якщо перемикач вибрано, то в нього всередині з'являється позначка
8
© Вивчаємо інформатику teach-inf.com.ua
Перемикачі та їх властивості
Розділ 6 § 6.9
На відміну від прапорців, з однієї групи перемикачів можна вибрати тільки один. Для цього всі перемикачі з однієї групи повинні бути пов'язані з однією змінною цілого типу. Команда створення такої змінної має вигляд:
<ім’я змінної> = IntVar()
Команда створення кожного з перемикачів групи має такий вигляд:
<ім’я перемикача> = Radiobutton(text = '<тест підпису»', variable = <ім’я змінно>, value = <значення змінної>)
8
© Вивчаємо інформатику teach-inf.com.ua
Перемикачі та їх властивості
Розділ 6 § 6.9
визначає текст підпису перемикача
властивість text
визначає ім’я змінної, яка пов'язана з перемикачем. Повинна бути одна й та сама змінна для всіх перемикачів однієї групи
властивість variable
визначає значення, яке набуде змінна, якщо буде вибрано саме цей перемикач. Значення повинні бути різними для кожного з перемикачів однієї групи
властивість value
8
© Вивчаємо інформатику teach-inf.com.ua
Перемикачі та їх властивості
Розділ 6 § 6.9
Фрагмент проєкту, у якому створено три перемикачі однієї групи switch1, switch2 та switch3, для яких змінна choice набуває відповідно значень 1, 2 та 3.
choice = IntVar()
switch1 = Radiobutton(text = "Заголовок",
variable = choice, value = 1)
switch1.pack(pady = 10)
switch2 = Radiobutton(text = "Колір",
variable = choice, value = 2)
switch2.pack(pady = 10)
switch3 = Radiobutton(text = "Розміри",
variable = choice, value = 3)
switch3.pack(pady = 10)
8
© Вивчаємо інформатику teach-inf.com.ua
Перемикачі та їх властивості
Розділ 6 § 6.9
Властивості перемикача:
width
height
bg
fg
font
Аналогічні до відповідних властивостей прапорця.
За замовчуванням змінна choice має значення 0. Оскільки це значення не відповідає жодному перемикачу, то після запуску проєкту на виконання жоден перемикач не буде вибрано.
8
© Вивчаємо інформатику teach-inf.com.ua
Перемикачі та їх властивості
Розділ 6 § 6.9
Щоб один з перемикачів одразу було вибрано, то потрібно встановити для змінної відповідне значення командою виду:
<ім'я змінної>.set(<значення змінної>)
Наприклад, після виконання команди:
choice.set(1)
Стане вибраним перший перемикач.
8
© Вивчаємо інформатику teach-inf.com.ua
Перемикачі та їх властивості
Розділ 6 § 6.9
Щоб дізнатися в ході виконання проєкту, який з перемикачів вибрано, потрібно виконати команду виду:
<ім'я змінної>.get()
Наприклад:
chois.get()
Якщо потрібно розмістити у вікні кілька незалежних груп перемикачів, то кожну групу перемикачів потрібно пов'язати з окремою змінною.
8
© Вивчаємо інформатику teach-inf.com.ua
Використання перемикачів
Розділ 6 § 6.9
Розглянемо, як можна, використовуючи перемикачі, змінювати значення тільки однієї з властивостей вікна:
8
© Вивчаємо інформатику teach-inf.com.ua
Використання перемикачів
Розділ 6 § 6.9
Використаємо в проєкті три перемикачі та кнопку.
Створимо процедуру – обробник події Click для кнопки та до її тексту додамо таку команду:
if choice.get()==1:
root.title('Заголовок змінений')
if choice.get()==2:
root['bg'] = 'red'
else:
root.geometry('600x300')
8
© Вивчаємо інформатику teach-inf.com.ua
Використання перемикачів
Розділ 6 § 6.9
Розпочинатися виконання цієї команди буде з визначення значення змінної choice.
Якщо під час настання події Click для кнопки буде вибрано перший перемикач, то буде істинним значення логічного виразу choice. get() == 1.
Тому виконається команда змінення заголовка вікна, а інші частини цієї команди розгалуження виконуватися не будуть.
8
© Вивчаємо інформатику teach-inf.com.ua
Використання перемикачів
Розділ 6 § 6.9
Якщо під час настання події Click для кнопки буде вибрано другий перемикач, то значення логічного виразу choice.get() == 1 буде False. Тому буде виконуватися команда перевірки умови після ключового слова elif. При її виконанні визначається значення змінної choice.
Оскільки буде вибрано другий перемикач, то це значення дорівнює 2. Тому виконається команда змінення кольору вікна, а інші частини команди розгалуження виконуватися не будуть.
8
© Вивчаємо інформатику teach-inf.com.ua
Використання перемикачів
Розділ 6 § 6.9
Якщо ж під час настання події Click для кнопки буде вибрано третій перемикач, то значення логічного виразу choice.get() == 1 буде False. Тому буде виконуватися команди перевірки умови після ключового слова elif.
Оскільки другий перемикач не вибрано, то значення логічного виразу choice.get() == 2 буде False. Тоді будуть виконуватися команди після ключового слова else, тобто команди змінення розмірів вікна.
8
© Вивчаємо інформатику teach-inf.com.ua
Використання перемикачів
Розділ 6 § 6.9
Якщо під час виконання проєкту не вибрати жодного з перемикачів, а вибрати кнопку, то зміняться розміри вікна (подумайте самостійно, чому відбудуться саме такі змінення). Щоб так не сталося, потрібно замість ключового слова else використати ще одну команду elif:
if choice.get()==1:
root.title('Заголовок змінений')
if choice.get()==2:
root['bg'] = 'red'
if choice.get()==3:
root.geometry('600x300')
8
© Вивчаємо інформатику teach-inf.com.ua
Розгадайте ребус
«Ребуси українською» © rebus1.com
Розділ 6 § 6.9
Перемикач
8
© Вивчаємо інформатику teach-inf.com.ua
Дайте відповіді на запитання
Розділ 6 § 6.9
8
© Вивчаємо інформатику teach-inf.com.ua
Домашнє завдання
Проаналізувати
§ 6.9, ст. 228-234
Розділ 6 § 6.9
8
© Вивчаємо інформатику teach-inf.com.ua
Працюємо за комп’ютером
Розділ 6 § 6.9
Сторінка
232
8
© Вивчаємо інформатику teach-inf.com.ua
Дякую за увагу!
За навчальною програмою 2017 року
Урок 57
8
teach-inf.com.ua