Тема 34(8): Елементи для введення даних: прапорці. 

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

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

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

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

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

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

<ім’я прапорця> = Checkbutton(text = ‘<текст підпису>’, variable = <ім’я змінної>) 

Наприклад: 

choice = BooleanVar() 

flag = Checkbutton(text = ‘Ваш вибір’, variable = choice) 

flag.pack() 

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

Властивості прапорця:


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

Наприклад choice.set(True). 

Наприклад 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:

Розмістимо у вікні 3 прапорці  і створимо процедуру для опрацювання події Click для кнопки. До тіла функції btn_click() додамо три послідовні команди розгалуження для перевірки стану прапорців. У кожній із цих команд, незалежно одна від одної, буде визначатися, вибрано відповідний прапорець чи ні. І залежно від цього, у кожній з них будуть чи не будуть змінюватися значення відповідних властивостей вікна.

from tkinter import *


def click():

    if cvar1.get(): root.title('Заголовок змінений')

    if cvar2.get(): root['bg']='red'

    if cvar3.get(): root.geometry('500x200')


root=Tk()

root.geometry("300x250")


cvar1 = BooleanVar()

c1 = Checkbutton(text="Заголовок", font = 'Arial 12',variable=cvar1)

c1.pack(pady=10)

#c1.place(x = 10, y = 10)


cvar2 = BooleanVar()

c2 = Checkbutton(text="Колір", font = 'Arial 12',variable=cvar2)

c2.pack(pady=10)

#c2.place(x = 10, y = 40)


cvar3 = BooleanVar()

c3 = Checkbutton(text="Розміри", font = 'Arial 12',variable=cvar3)

c3.pack(pady=10)

#c3.place(x = 10, y = 70)


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

btn.pack(pady=10)

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

Завдання 2. Створити проєкт, у якому можна обчислити суму, різницю, добуток, частку від ділення двох довільних чисел залежно від установлених позначок прапорців. Забезпечте введення даних у об'єкти типу "Поле", а виведення результатів у  - "Написи".

Завдання 3. Робітниця протягом місяця виготовила х деталей, за кожну з яких вона отримує у грн. Якщо в робітниці є діти, вона отримує додаткову плату в розмірі 20 % від суми, заробленої за місяць. Якщо робітниця виготовить браковані деталі, то її зароблена сума за місяць буде зменшена на 15 %. Побудуйте математичну модель і створіть проєкт, який визначає суму грошей, яку заробить робітниця за місяць.