Конструктор уроків
1
Для позиціонування віджетів контейнері застосовуються різні способи. Один з них представляє виклик віджету методу pack() . Цей метод приймає такі параметри:
expand : якщо True, то віджет заповнює весь простір контейнера.
fill : визначає, чи віджет буде розтягуватися, щоб заповнити вільний простір навколо. Цей параметр може приймати наступні значення: NONE (за замовчуванням, елемент не розтягується), X (елемент розтягується тільки по горизонталі), Y (елемент розтягується тільки по вертикалі) та BOTH (елемент розтягується по вертикалі та горизонталі).
anchor : розміщує віджет у певній частині контейнера. Може приймати значення n, e, s, w, ne, nw, se, sw, c, які є скороченнями від Noth (північ – вгору), South (південь – низ), East (схід – права сторона), West (захід – ліва сторона) та Center (по центру). Наприклад, значення nw вказує на лівий верхній кут
side : вирівнює віджет по одній із сторін контейнера. Може приймати значення: TOP (за промовчанням, вирівнюється по верхній стороні контейнера), BOTTOM (вирівнювання по нижній стороні), LEFT (вирівнювання по лівій стороні), RIGHT (вирівнювання по правій стороні).
ipadx : встановлює відступ вмісту віджету від його межі по горизонталі.
ipady : встановлюють відступ вмісту віджету від його межі по вертикалі.
padx : встановлює відступ віджету від меж контейнера по горизонталі.
pady : встановлює відступ віджету від меж контейнера по вертикалі.
Для розтягування віджета застосовується параметр expand передається значення True (або відповідне число). При цьому за відсутності інших параметрів позиціонування значення expand=Trueдозволяє помістити віджет по центру:

Параметр anchor містить віджет у певній частині контейнера. Може приймати такі значення:
n: положення вгорі по центру
e: положення у правій частині контейнера по центру
s: положення внизу по центру
w: положення в лівій частині контейнера по центру
nw: положення у верхньому лівому кутку
ne: положення у верхньому правому кутку
se: положення в правому нижньому кутку
sw: положення в нижньому лівому кутку
center: положення центру

Варто зазначити, що значення в лапках для параметра anchor передається в нижньому регістрі, без лапок - у верхньому регістрі

Наприклад, помістимо кнопку у верхньому лівому кутку:

Параметр fill дозволяє заповнити простір контейнером по горизонталі (значення X), по вертикалі (значення Y) або по обидва боки (значення BOTH). За замовчуванням значення NONE, коли заповнення контейнера відсутнє. Наприклад, заповнимо весь простір контейнера по горизонталі.

Для заповнення контейнера з усіх боків також потрібно встановити параметрexpand = True

Параметри padx і pady дозволяють вказати відступи віджету від меж контейнера:

Тут кнопка зміщена щодо лівого верхнього кута на 20 одиниць вправо і на 30 одиниць вниз
Вище встановлювався загальний відступ від лівої та правої сторони та загальний відступ від верхньої та нижньої кромки контейнера. Оскільки кнопка позиціонувалась у верхньому лівому кутку і мала невеликі розміри, відступ від нижньої та правої кромки контейнера нас не особливо цікавили. Однак при бажанні ми можемо задати окремо два відступи від правого та лівого кордону та окремо два відступи від верхнього та нижнього кордонів:

У цьому випадку відступ ліворуч – 20 одиниць, а праворуч – 60 одиниць
Параметри ipadx та ipady дозволяють вказати відступи вмісту віджету від меж віджету по горизонталі та вертикалі відповідно:

Використовуємо параметр side :

Метод place() дозволяє більш точно налаштувати координати та розміри віджету. Він приймає такі параметри:
height і width : встановлюють відповідно висоту та ширину елемента в пікселях
relheight і relwidth : також задають відповідно висоту та ширину елемента, але як значення використовується число float в проміжку між 0.0 та 1.0, яке вказує на частку від висоти та ширини батьківського контейнера
x і y : встановлюють зміщення елемента по горизонталі та вертикалі в пікселях відповідно щодо верхнього лівого кута контейнера
relx і rely : також задають зміщення елемента по горизонталі та вертикалі, але як значення використовується число float у проміжку між 0.0 та 1.0, яке вказує на частку від висоти та ширини батьківського контейнера
bordermode : вказує формат межі елемента. Може приймати значення INSIDE(за замовчуванням) таOUTSIDE
anchor : встановлює параметри розтягування елемента. Може приймати значення n, e, s, w, ne, nw, se, sw, c, які є скороченнями від North (північ – вгору), South (південь – низ), East (схід – права сторона), West (захід – ліва сторона) та Center (по центру). Наприклад, значення nw вказує на лівий верхній кут
Параметри xдозволяють yзадати точні параметри розташування щодо верхнього лівого кута контейнера:

В даному випадку кнопка щодо верхнього лівого кута контейнера спрощена на 20 одиниць по осі X і на 30 одиниць по осі Y.
Параметри relx і rely також дозволяють змістити віджет, але як значення використовується число float в проміжку між 0.0 і 1.0, яке вказує на частку від висоти та ширини батьківського контейнера:

В даному випадку кнопка зміщена щодо верхнього лівого кута контейнера на 40% ширини контейнера осі Х і на 25% висоти контейнера осі Y.
Параметри height і width встановлюють відповідно висоту та ширину елемента в пікселях:

Параметри relheight і relwidth також задають відповідно висоту та ширину елемента, але як значення використовується число float в проміжку між 0.0 та 1.0, яке вказує на частку від висоти та ширини батьківського контейнера:

Метод grid() дозволяє помістити віджет у певну комірку умовної сітки або гриду.
Метод grid застосовує такі параметри:
column : номер стовпця, відлік починається з нуля
row : номер рядка, відлік починається з нуля
columnspan : скільки стовпців повинен займати елемент
rowspan : скільки рядків має займати елемент
ipadx та ipady : відступи по горизонталі та вертикалі відповідно від меж елемента до його вмісту.
padx і pady : відступи по горизонталі та вертикалі відповідно від кордонів осередку гриду до меж елемента
sticky : вирівнювання елемента в комірці, якщо комірка більша за елемент. Може приймати значення n, e, s, w, ne, nw, se, sw, які вказують відповідний напрямок вирівнювання
Наприклад, визначимо грид із 9 кнопок:

За замовчуванням для кожного осередку виділяється стільки місця, скільки необхідно для віджету в ньому. Відповідно ми отримуємо невелику таблицю і багато порожнього місця поза грідом, що, можливо, виглядає не найкращим чином. І ситуація посилюється, якщо ми спробуємо розтягнути вікно – з'явиться ще більше порожнього простору. Щоб вирішити цю проблему, треба сконфігурувати грид у контейнера.
2
Завдання 1. Кнопка по центру (expand)
Створіть вікно 400x300 та розмістіть кнопку "Старт" по центру вікна за допомогою pack().
використати expand=True
кнопка має бути по центру
Кнопка знаходиться точно посередині вікна.
3
Завдання 2. Заповнення по горизонталі (fill=X)
Створіть три кнопки:
"Головна"
"Новини"
"Контакти"
кожна кнопка повинна розтягуватись по горизонталі
використати fill=X
між кнопками зробити вертикальний відступ pady=5
Рефлексія від 2 учнів
Сподобався:
Так: 2
Ні: 0
Зрозумілий:
Так: 2
Ні: 0
Потрібні роз'яснення:
Ні: 2
Так: 0
Створення й уведення структури таблиць. Поняття таблиці, поля, запису. Створення таблиць, означення полів і ключів у середовищі СКБД. Властивості полів, типи даних.