Урок 50. 8 клас.


Урок №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.