МЕНЕДЖЕРИ РОЗМІЩЕННЯ ОБ'ЄКТІВ
Менеджери розміщення – це програмні компоненти у складі tkinter, які визначають розміщення графічних елементів у їх контейнерах.
tkinter має три різних менеджери розміщення:
• pack – пакувальник, розміщує елементи за їх положенням відносно інших елементів;
• grid – таблиця, розміщує елементи як у таблиці, за вказаними рядком та стовпчиком;
• place – розміщення по заданих позиціях.
Менеджер розміщення pack
Менеджер розміщення pack дає можливість вказати відносне місце для кожного графічного елементу (віджета).
Основні параметри, якими можна керувати:
• side – сторона, біля якої треба розмістити елемент
• fill – чи заповнює елемент вільне місце по осях X, Y
• expand – чи розширюється елемент після зміни розміру вікна
Можливі значення параметру side: top (верх), bottom (низ), left (ліва сторона), right (права сторона). Значення за угодою – TOP.
Можливі значення параметру fill: X (заповнення по осі x), Y (заповнення по осі y), BOTH (заповнення по осях x та y), NONE (немає заповнення). Значення за угодою – NONE.
Можливі значення параметру expand: 1 або ‘1’ або YES (елемент розширюється), 0 або ‘0’ або NO (елемент не розширюється). Значення за угодою – 0.
Щоб написати програму по створенню об'єктів графічного інтерфейсу, треба виконати приблизно таке:
Створити головне вікно.
Створити віджети та виконати конфігурацію їх властивостей (опцій).
Визначити події, тобто те, на що реагуватиме програма.
Описати обробники подій, тобто те, як реагуватиме програма.
Розташувати віджети у головному вікні.
Запустіть цикл обробки подій.
Послідовність не обов'язково така, але перший та останній пункти завжди залишаються на своїх місцях. Подивимося все це у дії.
Об’єкт Label текст напису в вікні
Властивості об’єкта «напис в вікні»
Об’єкт Label створюється викликом класу Label модуля tkinter.
Для створення напису використано змінну label1. Змінній label1 присвоюють значення, яке викликається з модуля tkinter методом Label — напис.
Об’єкт напис має властивості (можна використовувати не всі):
• w —назва вікна розташування;
• text — текст напису;
• width, height — ширина й довжина у знакомісцях (кількість символів);
• bg — колір (скорочено від background)-,
• fg — колір напису (скорочено від foreground);
• font — шрифт і його розмір.
Для того щоб розмістити об’єкт у вікні, використовують метод pack().
ДОМАШНЄ ЗАВДАННЯ
Створити власну програму за зразком
Дослідити, як буде змінюватися вікно при зміні налаштувань об'єкта Label
Додайте нову змінну label2 з власним текстовим написом і розміщенням в нижній частині вікна.
Результат надіслати на пошту вчителя: voronenko@54.edu.ks.ua
Об’єкт Entry однорядкове поле введення/виведення
Об'єкт Entry в бібліотеці tkinter в Python - це віджет текстового поля, який дозволяє користувачеві вводити текст. Він є частиною бібліотеки tkinter, яка є стандартним інтерфейсом Python.
Із текстового поля можна "взяти" текст за допомогою функції get(). У текстове поле можна вставити текст методом insert(). Також можна видалити текст методом delete().
Властивості об’єкта «однорядкове поле введення/виведення»
Об’єкт Entry створюється викликом класу Entry модуля tkinter.
Об’єкт напис має властивості (можна використовувати не всі):
w - назва вікна розташування
width - ширина елемента
bg - фоновий колір
bd - товщина кордону
cursor - курсор вказівника миші при наведенні на текстове поле
fg - колір тексту
font - шрифт тексту
justify - встановлює вирівнювання тексту. Значення LEFT вирівнює текст по лівому краю, CENTER – по центру, RIGHT – по правому краю
relief - визначає тип кордону за промовчанням значення FLAT
selectbackground - фоновий колір виділеного шматка тексту
selectforeground - колір виділеного тексту
show - задає маску для символів, що вводяться
state - стан елемента може приймати значення NORMAL (за замовчуванням) і DISABLED
textvariable - встановлює прив'язку до елемента StringVar
Для того щоб розмістити об’єкт у вікні, використовують метод pack().
Для створення однорядкового поля використано змінну pole1.
Змінній pole1 присвоюють значення, яке викликається з модуля tkinter методом Entry.
Об’єкт Text багаторядкове поле введення/виведення
Об'єкт Text в бібліотеці tkinter в Python представляє собою візуальний віджет для введення та виведення текстової інформації у вікні графічного інтерфейсу. Цей віджет дозволяє користувачеві вводити багаторядковий текст та використовується для відображення та редагування великих обсягів текстової інформації.
Із текстового поля можна "взяти" текст за допомогою функції get(). У текстове поле можна вставити текст методом insert(). Також можна видалити текст методом delete().
Властивості об’єкта «багаторядкове поле введення/виведення»
Об’єкт Text створюється викликом класу Text модуля tkinter.
Об’єкт напис має властивості (можна використовувати не всі):
w - назва вікна розташування
width - ширина елемента
height - висота елемента
bg - фоновий колір
bd - товщина кордону
cursor - курсор вказівника миші при наведенні на текстове поле
fg - колір тексту
font - шрифт тексту
justify - встановлює вирівнювання тексту. Значення LEFT вирівнює текст по лівому краю, CENTER – по центру, RIGHT – по правому краю
relief - визначає тип кордону за промовчанням значення FLAT
selectbackground - фоновий колір виділеного шматка тексту
selectforeground - колір виділеного тексту
show - задає маску для символів, що вводяться
state - стан елемента може приймати значення NORMAL (за замовчуванням) і DISABLED
textvariable - встановлює прив'язку до елемента StringVar
wrap - визначає, як текст має переноситися на нову строчку, коли він перевищує ширину віджету. Ця властивість може приймати різні значення:
"none": Текст не переноситься, і він буде продовжувати рости горизонтально, не враховуючи розмір віджету.
"char": Текст переноситься по символу, що означає, що переніс відбувається після кожного символу.
"word": Текст переноситься по слову, що означає, що переніс відбувається після повного слова.
Для того щоб розмістити об’єкт у вікні, використовують метод pack().
Для створення багаторядкового поля використано змінну tx1.
Змінній tx1 присвоюють значення, яке викликається з модуля tkinter методом Text.
ДОМАШНЄ ЗАВДАННЯ
1. Створити власну програму за зразком, в якій будуть використані об'єкти Label, Entry, Text.
Результат надіслати на пошту вчителя: voronenko@54.edu.ks.ua
2. Пройти тест https://onlinetestpad.com/nka4fh3rfm3oq