Тема 35(8): Елементи для введення даних: перемикачі. 

План вивчення теми:

Д/з: опрацювати:

Перемикачі (радіокнопки) - це керуючі елементи, що використовують для введення даних під час реалізації алгоритмів з розгалуженням,  з метою вибору одного варіанту з декількох можливих.

Перемикачі однієї групи повинні бути пов'язані з однією змінною цілого типу. 

Розміщення перемикачів у вікні проекту: 

<ім’я змінної> = IntVar() 

<ім’я перемикача1> = Radiobutton(text = ‘<текст підпису1>’, variable = <ім’я змінної>, value=<значення змінної>

<ім’я перемикача2> = Radiobutton(text = ‘<текст підпису2>’, variable = <ім’я змінної>, value=<значення змінної>

....

<ім’я перемикачаN> = Radiobutton(text = ‘<текст підписуN>’, variable = <ім’я змінної>, value=<значення змінної>

де:

Зауваження*:

Властивості перемикача:


Методи, що використовуються для об’єкта перемикач:

Наприклад, після виконання команди choice.set(1) стане вибраним перший перемикач. 

Наприклад choice.get(). Значення цієї змінної можна використовувати в проєктах у команді розгалуження.

Якщо потрібно розмістити керемикач з деяким відступом від рядка заголовка або попереднього об'єкта, то в дужках можна указати цей відступ у пікселях як значення властивості pady

Наприклад, flag.pack(pady=20) - перемикач буде розміщено з відступом 20 пікселів від верхньої межі або попередньої кнопки.

Наприклад, flag.place(x=200,y=100) - верхня ліва вершина перемикача буде розміщена у точці з координатами (200, 100).

#Код-шаблон

from tkinter import*


#підпрограма (процедура) для опрацювання даних

def click():

#

#

#



#створення вікна програми розміром 300на200 пікселів

root=Tk()

root.geometry("300x250")


#створення та налаштування поля №1 для введення x

e1=Entry()

e1.pack(pady=10)


#створення та налаштування поля №2 для введення y

e2=Entry()

e2.pack(pady=10)


#створення та налаштування напису №1 для виведення z

lab1=Label()

lab1.pack(pady=10)


#створення та налаштування кнопки №1 для запуску процедури

b1=Button(text='Виконати', command=click)

b1.pack(pady=10)

Увага!   Під час роботи з комп'ютером дотримуйтеся вимог БДЖ та санітарно-гігієнічних норм.

Посилання на On-line-середовищe Python https://repl.it

Завдання 1

Розглянемо, як можна, використовуючи перемикачі, змінювати значення тільки однієї з властивостей вікна: або заголовок, або колір, або розміри

Використаємо в проєкті три перемикачі та кнопку.

Зауваження*

Якщо під час виконання проєкту не вибрати жодного з перемикачів, а вибрати кнопку, то зміняться розміри вікна (подумайте самостійно, чому відбудуться саме такі змінення). Щоб так не сталося, потрібно замість ключового слова else використати ще одну команду elif.

from tkinter import *


def click():

if choice.get() == 1: 

   root.title(‘Заголовок змінений’) 

elif choice.get() == 2: 

   root[‘bg’] = ‘red’ 

elif choice.get() == 3: 

   root.geometry(‘600x300’) 


root=Tk()

root.geometry("300x250")


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)


btn = Button(text = 'Змінити',command = click)

btn.pack(pady=10)

#btn.place(x = 50, y = 100)

Завдання 2

Удоскональте програмний код за зразком

Завдання 3

Побудуйте математичну модель і створіть проєкт, у якому можна обчислити суму, або різницю, або добуток, або частку від ділення двох довільних чисел залежно від вибраного перемикача.