Графічний інтерфейс — це вигляд вікна програми, в якому для взаємодії людини й комп’ютера застосовуються графічні компоненти (вікна, меню, кнопки тощо).
Для розробки програм з графічним інтерфейсом в Python застосовується окремий вбудований модуль tkinter, який містить набір графічних компонентів.
Кожний графічний компонент — це об’єкт певного класу, що має властивості та методи.
Графічні компоненти (кнопки, написи, текстові поля, списки та ін.) називаються віджетами (від англ. widget).
Віджети — це блоки для створення графічного інтерфейсу програми, тобто будівельні цеглинки програми.
Модуль tkinter містить описи класів графічних компонентів, і ми будемо створювати віджети як екземпляри цих класів.
Створення вікна програми
Побудова програми починається зі створення вікна. У вікно додаються потрібні компоненти графічного інтерфейсу.
Розглянемо алгоритм створення порожнього графічного вікна:
Оператор | Призначення |
from tkinter import * | Завантаження модуля tkinter |
root = Tk() | Створюється об’єкт root класу Tk(), який описаний у модулі tkinter. Через змінну root ми можемо керувати атрибутами вікна. Можна дати будь-яку назву змінній, що містить об’єкт класу Tk(), але найчастіше використовується саме назва root. |
root.title ('Графічна програма') | Метод title() додає заголовок вікна |
root.geometry('250x150') | Метод geometry() встановлює розміри вікна (у пікселях) |
root.mainloop() | Метод mainloop запускає головний цикл обробки подій для об'єкта root |
Зверни увагу!
Рядок root.mainloop() має бути останнім рядком програмного коду
Додавання віджета Label (напис)
Віджет Label містить рядок (або декілька рядків) тексту й застосовується для виведення заголовків, підписів елементів інтерфейсу тощо.
Віджет створюється викликом конструктора класу Label модуля tkinter.
Синтаксис створення віджета:
змінна = Label(батьківський_віджет, [властивість = значення])
При створенні об’єкта Label можна (але не обов'язково!) задати такі властивості:
• text — текстовий рядок;
• width, height — ширина і висота у знакомісцях (кількість символів);
• bg, fg — колір фону і символів;
• font — параметри шрифту (тип, кегль). Наприклад, font = 'Arial 18' — шрифт Arial, 18 кегль.
• text — текстовий рядок;
• width, height — ширина і висота у знакомісцях (кількість символів);
• bg, fg — колір фону і символів;
• font — параметри шрифту (тип, кегль). Наприклад, font = 'Arial 18' — шрифт Arial, 18 кегль.
Створений об’єкт потрібно відобразити у вікні. Для цього є спеціальні методи-пакувальники:
змінна.pack() | об'єкт з’явиться у верхньому лівому куті вікна |
змінна.place(x = <значення>, y = <значення>) | об'єкт з’явиться на відстані х пікселів від лівого краю вікна та на у пікселів від верхнього краю вікна |
Зверни увагу!
Якщо не вставити один з цих операторів, то напис у вікні так і не з’явиться, хоча він є в програмі.
Приклад:
Додамо у вікно напис Hello, World!
from tkinter import*
root = Tk()
root.title('Привітання')
root.geometry('300x100')
lab = Label(root, text = 'Hello, World!', font = 'Arial 18', bg = 'blue', fg = 'yellow')
lab.place(x = 80, y = 30) # верхній лівий кут напису зміщено
from tkinter import*
root = Tk()
root.title('Привітання')
root.geometry('300x100')
lab = Label(root, text = 'Hello, World!', font = 'Arial 18', bg = 'blue', fg = 'yellow')
lab.place(x = 80, y = 30) # верхній лівий кут напису зміщено
# на 80 пікселів від лівого краю вікна
# і на 30 пікселів від верхнього краю
root.mainloop()
root.mainloop()
Змінити значення атрибутів віджета можна за допомогою методу config.
Синтаксис виклику методу:
об’єкт.config (властивість = значення)
Приклад:
Змінимо для раніше створеного об’єкта lab текст напису, колір тла й символів і помістимо напис у лівий верхній кут вікна.
Для цього потрібно додати до програмного коду (але перед рядком root.mainloop()!)
оператори:
lab.config(text = 'Я вивчаю Python', bg = 'grey', fg = 'white')
lab.place(x = 1, y = 1)
Для цього потрібно додати до програмного коду (але перед рядком root.mainloop()!)
оператори:
lab.config(text = 'Я вивчаю Python', bg = 'grey', fg = 'white')
lab.place(x = 1, y = 1)
Отже, щоб додати у вікно програми ий компонент, потрібно створити об’єкт і задати значення атрибутів (налаштувати його властивості).
Джерела:
Інформатика : підруч. для 6 кл. закл. загал. серед. освіти / [О. О. Бондаренко, В. В. Ластовецький, О. П. Пилипчук, Є. А. Шестопалов]. — Харків : Вид-во «Ранок», 2019