Урок 60��Основи графічного інтерфейсу користувача. Графічні об’єкти та їх властивості: створення вікна, створення кнопок, мітки, однорядкового текстового поля, багаторядкового текстового поля
9 клас
Підготували: вчителі інформатики Черкаської ЗОШ №33 Літвінова О.М., Максюта Л.В., вчителі інформатики Першої міської гімназії Чех О.І., Коваленко Є.О.
1. Загальний порядок створення графічного інтерфейсу в Python
Графічний інтерфейс користувача в мовах програмування використовується для зручності в роботі з програмою. Графічні об’єкти (кнопки, однорядкові текстові поля, багаторядкові текстові поля, радіокнопки (перемикачі), прапорці, списки. )
Для створення графічного інтерфейсу в Python можна використовувати наступні бібліотеки:
Середовище для програмування Python з модулем tkinter
ОНЛАЙН
Python – онлайн (з модулем tkinter): http://samel.ho.ua/
Посилання на середовище для програмування Python – онлайн із модулем tkinter:
Відеоінструкція по роботі з replit
МОБІЛЬНИЙ ПРИСТРІЙ
Посилання на додаток у Play маркет:
https://play.google.com/store/apps/details?id=ru.iiec.pydroid3&hl=uk
КОМП’ЮТЕР
Посилання на сайт для завантаження і встановлення середовища Тhonny: https://thonny.org/
1. Загальний порядок створення графічного інтерфейсу в Python
Створення вікна
Створення кнопок, текстових полів
Створення функцій для опрацювання
Створення програми
Реалізація програми
2. Графічні об’єкти та їх властивості
Методи розміщення об’єктів (віджетів) у вікні
назва об’єкта.grid(row=номер рядка, column=номер стовпця) - метод розміщення за принципом таблиці, де вікно уявно розбивається на таблицю, в комірках якої розміщуються об’єкти, властивість row і column вказують на номер рядка і стовпця цієї уявної таблиці
Метод pack()
Для позиціонування елементів у вікні застосовуються різні способи, і найпростіший спосіб представляє виклик у елемента методу pack (). Цей метод приймає такі параметри:
Метод place()
Приклад №1. Вікно - Tk()
Бібліотека tkinter застосовується для створення зручних вікон користувацького інтерфейсу.
Базовим моментом в побудові графічних програм є створення вікна. Потім у вікно додаються всі інші компоненти графічного інтерфейсу.
Для створення найпростішого вікна використовуємо наступний скрипт:
�
Код програми | Результати виконання |
from tkinter import * window = Tk() window.title("Графічна програма на Python") window.geometry("400x300") window.mainloop() | |
Приклад №2. Кнопки - Button()
Бібліотека tkinter містить набір компонентів або віджетів (об’єктів), одним з яких є кнопка. Додавання кнопки в вікно:
Для створення кнопки використовується конструктор Button (). У цьому конструкторі за допомогою параметра text можна встановити текст кнопки.
Щоб зробити елемент видимим, у нього викликається метод pack ().
Код програми | Результати виконання |
from tkinter import * root = Tk() root.title("Програмую на Python") root.geometry("300x300") btn = Button(text="Hello") btn.pack() root.mainloop() | |
Приклад №3. Кнопки - Button()
Кожен віджет, в тому числі кнопка, має ряд атрибутів, які впливають на її візуалізацію, і які ми можемо налаштувати через конструктор:
Код програми | Результати виконання |
| |
2. Графічні об’єкти та їх властивості. Мітки (написи) - Label()
Текстові мітки (написи) в Python представлені елементом Label.
Цей елемент дозволяє виводити статичний текст без можливості редагування. �Для створення елемента Label застосовується конструктор, який приймає два параметри:
Label(master, options)
Параметр master представляє посилання на батьківський контейнер (вікно до якого належить),
а параметр options подає такі іменовані параметри:
Приклад №4. Мітки (Написи) - Label()
Код програми | Результати виконання |
| |
3. Графічні об’єкти та їх властивості. Однорядкове текстове поле - Entry()�
Елемент Entry представляє поле для введення тексту. Конструктор Entry приймає такі параметри:
3. Графічні об’єкти та їх властивості. Однорядкове текстове поле - Entry()�
Приклад №5.1. Однорядкове текстове поле - Entry()�
Спосіб 1. Визначимо елемент Entry і після натискання на кнопку виведемо його текст в окреме вікно з повідомленням:
Код програми | Результати виконання |
| |
Приклад №5.2. Однорядкове текстове поле - Entry()�
Спосіб 2. Визначимо елемент Entry і після натискання на кнопку виведемо його текст в окреме вікно з повідомленням:
Код програми | Результати виконання |
| |
Приклад №6.1 (метод grid() розміщення по таблиці)�
Для виведення повідомлення у прикладі застосовується додатковий модуль messagebox, що містить функцію showinfo (), яка власне і виводить введений в текстове поле текст. Для отримання введеного тексту використовується компонент StringVar.
Приклад №6.2 (метод place() довільне розміщення)�
Для виведення повідомлення у прикладі застосовується додатковий модуль messagebox, що містить функцію showinfo (), яка власне і виводить введений в текстове поле текст. Для отримання введеного тексту використовується метод bid() для створення події
Однорядкове текстове поле - Entry(). Методи.
Елемент Entry має ряд методів. Основні з них:
�
Приклад №7. Однорядкове текстове поле - Entry(). Методи.
4. Створення багаторядкового текстового поля - Text()
Text - багаторядкове текстове поле. Цей віджет часто зустрічається
при заповненні веб-форм.
У tkinter багаторядкове текстове поле створюється від класу Text. За замовчуванням його розмір дорівнює 80 символів по горизонталі і 24 символи по вертикалі.
from tkinter import *
root = Tk()
text = Text(width=25, height=5, bg="white", fg='red', wrap=WORD)
text.pack()
root.mainloop()
Значення WORD опції wrap дозволяє переносити слова на новий рядок цілком, а не по буквах.
Text і Scrollbar якщо в текстове поле вводиться більше ліній тексту, ніж його висота, то воно саме буде прокручуватися вниз. При перегляді прокручувати вгору-вниз можна за допомогою колеса миші і стрілками на клавіатурі. Однак буває зручніше користуватися скроллером - смугою прокрутки. У tkinter скролери виробляються від класу Scrollbar. Об'єкт-скроллер пов'язують з віджетом, якому він потрібен.
Приклад №8. Багаторядкове текстове поле. Text і Scrollbar
У прикладі створюється скроллер, до якого за допомогою опції command прив'язується прокрутка текстового поля по осі y - text.yview. У свою чергу текстовому полю опцією yscrollcommand встановлюється раніше створений скроллер - sc.set.
Приклад №9. Приклад використання методу pack
Практичне завдання до уроку №60 (7-11балів)
Увага! все можна написати в зошиті, але оцінка буде менша на 3 бали.
Завдання на 12 балів
Використані джерела: