Урок № 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».