Урок 56. 8 клас.



Урок № 56. Текстове поле, його функції та властивості.

Сьогодні ми почнемо працювати із даними та способами їх отримання.
У командному  режимі використовується функція input(), а у модулі tkinter існують об’єкти для введення даних: текстове поле, прапорець, перемикач.
Текстове поле  це об’єкт, що використовується при побудові графічного інтерфейсу.
Мета текстового поля – дозволити користувачеві ввести текстову інформацію, яка буде використовуватися програмою.
Entry() – функція для створення текстового поля:
назва_поля=Entry(назва_вікнва, атрибут1, атрибут2, …)
Атрибути (властивості) текстового поля:
·        bg=”колір” – колір поля;
·        fg=”колір” – колір тексту поля;
·        font=”шрифт та розмір шрифту” – шрифт тексту (встановлює висоту поля);
·        width=число  ширина поля, зазначається у кількості знаків;
·        bd=число – ширина контура поля, зазначається у пікселях.

Приклад 1. У вікні w1  розміру 370х300 чорного кольору створимо в ньому текстове поле білого кольору з шириною у 30 знаків, а шрифт Times13. Розмістимо його в 50 пікселів від лівого краю та в 100 від верхнього краю.

Текстове поле не використовується саме по собі для отримання даних, воно є лише допоміжним об’єктом.

en1 – це лише назва об’єкта, а не назва змінної, яка містить дані введені у це поле.
Для отримання даних з поля використовується спеціальний метод get().
en1 – це назва поля, en1.get() – це значення поля.

Приклад 2. Маємо вікно та поле. На вікні розмістимо кнопку з текстом «Start» на 170 пікселів від лівого краю та 130 від верхнього. Для кнопки присвоїмо подію Buuton-1, при виконанні якої буде створюватися вікно повідомлення із даними, які ввів користувач. Заголовок вікна повідомлення «Дані користувача».




Зверніть увагу! Замість повідомлення в функції messagebox.showinfo() вставлено дані отримані з текстового поля. Лапки в даному випадку ставити зовсім не потрібно, так як за замовчуванням дані текстового поля є рядком тексту. Якщо потрібно отримати число (ціле або дійсне) – потрібно використати функції int() або float() відповідно.


Приклад 3. Допрацюємо попередній приклад. Додамо до вікна напис з текстом «Введіть дані» та розмістимо його на 150 пікселів від лівого краю та 50 від верхнього. В залежності від того, що введе користувач, воно буде відображатися замість напису «Введіть дані» після натискання кнопки. 


Після натискання кнопки, текст напису буде дорівнювати даним отриманим з текстового поля.

Зверніть увагу! У даному прикладі ми вносили змінну тексту напису. Заміна, або присвоєння одного атрибуту об’єкта виглядає так:

ім’я_об’кта[“назва_атрибуту”]=значення

Для створення більш складних задач потрібно згадати програмування у командному інтерфейсі, бо всі дії з даними та конструкції ми будемо застосовувати до даних у графічному інтерфейсі.

Приклад 4. Вдосконалимо приклад 3. Користувач буде вводити числа в текстове поле. Якщо це число більше 0, то буде виводитися «Число більше 0», якщо менше, то «Число менше 0» і відповідно «Число дорівнює 0».