1 of 19

Практична робота 19 ��Моделювання руху об’єкта

Нова українська школа

Урок 59

Інформатика 8

teach-inf.com.ua

за підручником

Бондаренко О.О. та ін.

2 of 19

Повторюємо

Відкрити вікно середовища IDLE можна:

використовуючи команду IDLE (Python) меню Пуск

використовуючи значок на Робочому столі

Розділ 6

ПР 16

© Вивчаємо інформатику teach-inf.com.ua

3 of 19

Середовище програмування IDLE

На рисунку наведено алгоритм роботи з програмою в середовищі програмування IDLE.

Введення тексту у вікні програми

Збереження файлу програми

Запуск програми

Перегляд результату у вікні консолі

Розділ 6

ПР 16

© Вивчаємо інформатику teach-inf.com.ua

4 of 19

Графічний інтерфейс користувача

from tkinter import*

Перед використанням цих класів слід завантажити модуль tkinter за допомогою команди:

Для створення програм із ГІК мовою Python застосовують модуль tkinter. Він містить багатоплатформну подійно-орієнтовану бібліотеку класів популярних елементів керування.

Розділ 6

ПР 16

© Вивчаємо інформатику teach-inf.com.ua

5 of 19

Створення вікна програми

Побудова графічної програми починається зі створення вікна. Далі у вікно додаються інші потрібні складові графічного інтерфейсу користувача, тобто вікно програми є контейнером для інших графічних об’єктів.

Створимо порожнє вікно:

from tkinter import*

root = Tk()

root.title('Графічна програма')

root.geometry('300x150')

root.mainloop()

Розділ 6

ПР 16

© Вивчаємо інформатику teach-inf.com.ua

6 of 19

Полотно для малювання

У tkinter зображення створюється в межах полотна — об’єкта класу Canvas, який теж входить до модуля tkinter. Тому, перш ніж записувати оператори для малювання, потрібно створити полотно.

Синтаксис команди створення об’єкта класу Canvas:

<змінна> = Canvas(<батьківський віджет>,

width = <ширина>, height = <висота>)

ширина полотна;

width

Висота полотна, виражені в пікселях.

height

Розділ 6

ПР 16

© Вивчаємо інформатику teach-inf.com.ua

7 of 19

Полотно для малювання

Створимо полотно розміром 500 × 500 пікселів:

from tkinter import*

root = Tk()

canvas = Canvas(root, width = 500, height = 500)

canvas.pack()

Розділ 6

ПР 16

© Вивчаємо інформатику teach-inf.com.ua

8 of 19

Полотно для малювання

Для задавання положення точок на полотні використовують координати. Будь-яка точка може бути задана парою чисел (X, Y):

відстань від точки до лівого краю полотна,

Х

відстань від точки до верхнього краю полотна.

Y

Розділ 6

ПР 16

© Вивчаємо інформатику teach-inf.com.ua

9 of 19

Додавання віджета

Розглянемо створення елемента керування на прикладі напису — об’єкта класу Label. Віджет Label містить рядок тексту й застосовується для виведення заголовків, підписів інших елементів інтерфейсу, результатів обчислень тощо.

Синтаксис створення віджета:

[змінна = ]Label([бaтькiвcький_вiджeт, ]

[атрибут = значення])

Розділ 6

ПР 16

© Вивчаємо інформатику teach-inf.com.ua

10 of 19

Клас Button

Командна кнопка — об’єкт класу Button, один із найрозповсюдженіших віджетів, який застосовується для запуску чи закінчення певного процесу.

Синтаксис створення об’єкта класу Button:

[змінна = ]Button([батьківський_віджет, ]

[атрибут = значення])

Розділ 6

ПР 16

© Вивчаємо інформатику teach-inf.com.ua

11 of 19

Опрацювання події Натискання на кнопку

Щоб прикріпити до кнопки обробник події Натискання на кнопку, необхідно під час створення об’єкта в переліку вказати атрибут command і присвоїти йому назву функції, яку буде викликано в разі натискання.

def btn_click():

btn = Button(root, text = 'ok', command = btn_click)

Розділ 6

ПР 16

© Вивчаємо інформатику teach-inf.com.ua

12 of 19

Клас Entry

Компонент Entry — це поле для введення тексту, також його можна використовувати і для виведення.

Синтаксис створення об’єкта класу Entry такий:

[змінна = )Entry([батьківський_віджет, ]

[властивість = значення])

Розділ 6

ПР 16

© Вивчаємо інформатику teach-inf.com.ua

13 of 19

Метод grid()

Вам уже відомі методи:

Якщо у вікні потрібно в певному порядку розмістити кілька віджетів, то швидко і правильно зробити це допоможе метод grid() (з англ. сітка). Цей пакувальник розміщує віджети в клітинках уявної таблиці.

pack()

place()

і

Призначені для розміщування віджетів у вікні.

Розділ 6

ПР 16

© Вивчаємо інформатику teach-inf.com.ua

14 of 19

Метод grid()

Адреса кожної клітинки таблиці складається з:

row

номера рядка

column

номера стовпця

Нумерація в рядках і стовпцях починається з нуля.

Клітинки можна об’єднувати як по вертикалі, так і по горизонталі.

Розділ 6

ПР 16

© Вивчаємо інформатику teach-inf.com.ua

15 of 19

Метод grid()

Атрибути методу grid() мають такий зміст:

номери рядка і стовпця відповідно;

row, column

ширина (в пікселах) вільного місця навколо віджета по горизонталі й по вертикалі відповідно;

padx, pady

об’єднання декількох клітинок у рядку або стовпці відповідно.

columnspan, rowspan

Розділ 6

ПР 16

© Вивчаємо інформатику teach-inf.com.ua

16 of 19

Домашнє завдання

Проаналізувати

с. 263-265

Розділ 6

ПР 16

© Вивчаємо інформатику teach-inf.com.ua

17 of 19

Працюємо за комп’ютером

Практична робота 19

Моделювання руху об’єкта

Розділ 6

ПР 16

© Вивчаємо інформатику teach-inf.com.ua

18 of 19

Працюємо за комп’ютером

Сторінка

263-265

Розділ 6

ПР 16

© Вивчаємо інформатику teach-inf.com.ua

19 of 19

Успіхів�у навчанні!

Нова українська школа

Урок 59

Інформатика 8

teach-inf.com.ua

за підручником

Бондаренко О.О. та ін.