Урок №50. Інтерфейс користувача на мові Phyton. Створення
вікон та налаштування їх властивостей.
Інтерфейс – це сукупність засобів і правил, що забезпечують взаємодію
пристроїв обчислення системи або програм.
Ви вже знаєте, що є два види
інтерфейсів: командний та графічний. У командному інтерфейсі взаємодія
користувача та комп’ютера відбувається за допомогою команд, які користувач
вводить в командну строку з клавіатури. У графічному інтерфейсі взаємодія
відбувається за допомогою кнопок, полів та інших елементів керування.
Ми з вами навчимося створювати програми з
власним графічним інтерфейсом мовою програмування Python.
Форма – це об’єкт, в якому можна розмістити різні
компоненти (елементи керування), зокрема кнопки, написи, меню та інше.
Мова Python
більше орієнтована на командний інтерфейс, але
в ній існує спеціальний модуль за допомогою якого можна створити
інтерфейс користувача.
Для створення графічного інтерфейсу
потрібно імпортувати модуль: thinter. За допомогою
цього модуля можна виконувати окремі графічні побудови та створювати
повноцінний графічний інтерфейс користувача. Отже, перший рядок коду в нашому
файлі має завжди виглядати так:
from tkinter import*
або
import tkinter
Після підключення модуля створимо вікно.
Для цього використовується функція TK() . Оскільки вікон можна створювати багато, то
кожному вікну присвоюється ім’я:
назва_вікна
= Tk()
Назва вікна може складатися з великих і
малих літер англійського алфавіту, цифр та знаків нижнього підкреслення. Назва
вікна потрібна, щоб при написання коду ми змогли звертатися до даного вікна,
присвоювати йому певну властивість та вставляти у нього елементи керування. Після
створення вікна та його елементів керування потрібно вказати інтерпретатор, що
ми закінчили працювати з вікном за допомогою метода
назва_вікна.mainloop()
Приклад
1. Створити
вікно.
Ми можемо створювати велику кількість
вікон, але в залежності від того, як ми розмістимо рядки коду, ці вікна будуть
по різному відображатися.
Приклад
2.
Якщо функцію створення та метод закриття одного вікна ми розмістимо послідовно
з функціями метода іншого, то друге вікно буде створене тільки після того, як
користувач закриє перше:
Приклад
3.
Створимо ці вікна паралельно, для цього послідовно розмістимо відповідні команди
між собою:
Основні
властивості вікна:
· title (‘заголовок’) – заголовок вікна (за замовчуванням заголовок
вікна “tk”)
· minsize(x,y) – мінімальний розмір вікна у пікселях, х – ширина, у – висота. Якщо не
встановити цю властивість, то вікно не матиме обмеження у зменшенні
· maxsize(x,y) – максимальний розмір вікна у пікселях, х – ширина, у – висота. Якщо не
встановити цю властивість, то вікно може приймати повні розміри екрану
користувача
· geometry(“ x x y + l + v ”) – розміри та положення вікна
відносно розширення екрана у пік селях. х
- ширина, у – висота, l – відстань від
лівого краю екрана, v – відстань від
верхнього краю екрана. Параметри відступу l і v не є обов’язковими, вони додаються за
бажанням.
· resizable(x , y ) – чи може користувач змінювати розміри вікна і
на скільки: х – ширина, у – висота. Для заборони змінення
розмірів вікна замість параметрів встановити нулі.
До
вікна вони застосовуються таким чином:
назва_вікна.властивість(параметри)
Наприклад. Встановити
розмір вікна w1: ширина та
висота по 500 пікселів:
w1.geometry(“500x500”)
Аналогічно
застосовується й інші властивості, та є й винятки із правил. Щоб застосувати
певний колір певного фону нашого вікна виконується інша конструкція:
назва_вікна[“bg”]= “колір”
Bg скорочено від background (фон), а параметри є назва
кольору на англійській мові взята в лапки.
Коди та
відповідні їм кольори можна подивитись, натиснувши на “Таблиця_кодів_кольорів”.
Наприклад. Встановити
зелений колір вікна w1:
w1[“bg”]=”green”
Приклад 4. Створити вікно
світло-блакитного кольору зі сталими розмірами: ширина 600, висота 500 та з
заголовком «Моє перше вікно».
· Створюємо вікно
з назвою my_window
· Встановлюємо
розміри вікна за допомогою властивості geometry
· Заборонимо змінювати
його розміри
· Встановимо
світло-блакитний колір (light blue)
· Додати заголовок
вікна
· Завершуємо
командуємо mainloop.