Щоб написати GUI-програму, треба виконати приблизно таке:
Створити головне вікно.
Створити віджети та виконати конфігурацію їх властивостей (опцій).
Визначити події, тобто те, на що реагуватиме програма.
Описати обробники подій, тобто те, як реагуватиме програма.
Розташувати віджети у головному вікні.
Запустіть цикл обробки подій.
Послідовність не обов'язково така, але перший та останній пункти завжди залишаються на своїх місцях. Подивимося все це у дії.
Властивості об’єкта «кнопка»
Так само, як і напис, об’єкт кнопка може мати свої властивості, які описують службовими словами:
• text — напис на кнопці;
• width, height — ширина й довжина (у знакомісцях);
• bg — колір (скорочено від background);
• fg — колір напису (скорочено від foreground);
• font — шрифт і його розмір;
• padx — відступ від межі до об’єкта по горизонталі;
• pady — відступ від межі до об’єкта по вертикалі.
Змінити властивість об’єкта під час виконання програми можна за допомогою методу configure.
Властивості об’єкта «напис в вікні»
Для створення напису використано змінну labelІ(написі). Змінній присвоюють label 1 значення, яке викликається з модуля tkinter методом Label — напис. Об’єкт напис має властивості (можна використовувати не всі):
• window —назва вікна розташування;
• text — текст напису;
• width, height — ширина й довжина (у знакомісцях);
• bg — колір (скорочено від background)-,
• fg — колір напису (скорочено від foreground);
• font — шрифт і його розмір.
Для того щоб розмістити об’єкт у вікні, використовують метод pack().
Властивості об’єкта «поле вводу/виводу»
bg : фоновий колір
bd : товщина кордону
cursor : курсор вказівника миші при наведенні на текстове поле
fg : колір тексту
font : шрифт тексту
justify : встановлює вирівнювання тексту. Значення LEFT вирівнює текст по лівому краю, CENTER – по центру, RIGHT – по правому краю
relief : визначає тип кордону за промовчанням значення FLAT
selectbackground : фоновий колір виділеного шматка тексту
selectforeground : колір виділеного тексту
show : задає маску для символів, що вводяться
state : стан елемента може приймати значення NORMAL (за замовчуванням) і DISABLED
textvariable : встановлює прив'язку до елемента StringVar
width : ширина елемента
Властивості об’єкта Text
Окрім основних властивостей, як у Entry об’єкт Text має:
height – висота поля (кількість строк)
wrap – як переносити слова
"Grid" з англійської перекладається як "сітка", проте за змістом правильніше говорити про таблицю.
Табличний спосіб розміщення кращий через його гнучкість і зручність, коли справа доходить до розробки щодо складних інтерфейсів. Grid дозволяє уникнути використання безлічі фреймів, що неминуче у разі пакувальника Pack.
При розміщенні віджетів методом grid батьківський контейнер (зазвичай це вікно) умовно поділяється на комірки подібно до таблиці. Адреса кожного осередку складається з номера рядка та номера стовпця. Нумерація починається з нуля. Осередки можна поєднувати як по вертикалі, так і по горизонталі.
На малюнку пунктир позначає об'єднання осередків. Загальна комірка у разі позначається адресою першої.
Жодних попередніх команд із розбиття батьківського віджету на осередки не виконується. Tkinter робить це сам, виходячи із зазначених позицій віджетів.
Розміщення віджету в тій чи іншій комірці визначається через аргументи row і column, яким присвоюються відповідно номери рядка і стовпця. Щоб об'єднати осередки по горизонталі, використовується атрибут columnspan, якому присвоюється кількість комірок, що об'єднуються. Опція rowspan об'єднує осередки по вертикалі.
У grid, як у pack, є атрибути для завдання зовнішніх і внутрішніх відступів (padx, pady, ipadx, ipady).