Урок 27. Створення вікон. Малювання фігур

Створення вікон

Багато програм використовують такі елементи управління, як кнопка та вікна. Це називається графічним інтерфейсом і позначається абревіатурою GUI.
Основа GUI - це вікно, в якому розміщуються всі елементи. Для створення простого вікна достатньо модуля Tkinter із стандартної бібліотеки Python.
Полотно для малювання – частина вікна (або все вікно) у якій може бути здійснене малювання об'єктів.
Для створення полотна існує функція Canvas() і застосовується вона таким чином:
  • назва_полотна= Canvas(назва_вікна, атрибут 1,…)
  • для полотна можна застосувати наступні атрибути:
  • width=число_у_пікселях – ширина полотна;
  • height= число_у_пікселях – висота полотна;
  • bg= «колір» - колір фону
Розміщують полотно у вікні за допомогою методу place().


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

Ведемо код, який завантажить модуль Tkinter і створить нове вікно

    Результат

Кольори 

Для задання кольорів у Tkinter є зручний інструмент colorchooser

Координати

Щоб малювати картинки у Python, необхідно створити чисту область для малювання, яку називають полотном.
X-координати відраховуються зліва-направо, а
Y-координати - зверху-вниз.
Для того щоб вказати, у якому місці полотна малювати, використовують координати X та Y.


Додавання кольору

Якщо потрібно намалювати різнокольорову фігуру, то в програмі можна задавати колір контуру і колір заливки.
oval1=drawing.create_oval(100,100, 300, 200, outline='blue', fill='yellow')
circle1=drawing.create_oval(30,30, 80, 80,outline='red', fill='yellow')


Графічні примітиви

До графічних примітивів у Python відносяться лінія, прямокутник, еліпс та многокутник.

4 функції для зображення основних графічних примітивів:
  • create_line() – для побудови лінії; 
  • create_rectangle() - для побудови прямокутника; 
  • create_oval() - для побудови еліпса; 
  • create__polygon() - для побудови довільного многокутника.

Лінія

Функція create_line()
  • х1 та у1 – координати початкової точки; 
  • х2 та у2 – координати кінцевої точки. 
Координати точок записуються у квадратних дужках через кому.
Координати початку та кінця лінії повинні знаходитися у межах полотна, щоб вона відображалася.

Атрибути:
  • fill= «колір» - колір лінії; 
  • width=число_у_пікселях – товщина лінії;
Приклад

Прямокутник

Побудова прямокутника, як і лінії буде відбуватися лише за двома точками, а саме за координатами точки верхнього лівого кута та точки нижнього правого кута за допомогою функції create_rectangle():

назва_полотна. create_rectangle([x1,y1],[x2,y2], атрибут1, …)
  • х1 та у1 – координати точки верхнього лівого кута;
  • х2 та у2 – координати точки правого нижнього кута.
Атрибути:
  • fill= «колір» - колір фону об'єкта;
  • outline= «колір» - колір контуру;
  • width=число_у_пікселях – товщина контуру.
Приклад



Еліпс

З побудовою еліпсу трохи складніше, адже при створенні еліпсу потрібно вказувати координати уявного прямокутника описаного навколо нього:

назва_полотна. create_oval([х1,у1], [х2,у2], атрибут1….)
  • х1 та у1 – координати точки верхнього лівого кута уявного прямокутника;
  • х2 та у2 – координати точки правого нижнього кута уявного прямокутника.
Для еліпса притаманні такі ж атрибути, як і до прямокутника: колір фону, товщина та колір контуру.
Приклад



Довільний многокутник

Побудова довільної фігури, яка складається із трьох та більше вершин:

назва_полотна.create_polygon([x1,y1]… [xn,yn], аргумент1…)

  • х1 та y1– координати першої вершини многокутника;
  • x2 та у2 – координати другої вершини многокутника;
  • … xn та уn – координати n-ї вершини многокутника;
Атрибути:
  • fill= «колір» - колір фону об'єкта;
  • outline= «колір» - колір контуру;
  • width=число_у_пікселях – товщина контуру;
  • smooth=True/False – згладжування контурів.
Приклад

Завдання

Намалюйте смайлика :)

Код програми, яка випадковим чином малює круги


Завдання
1. Змінити кольори кругів.
2. Зафарбувати круги всіма кольорами веселки.
Результат

Гра "Cube"
Напишемо програму імітації викидання шестигранного кубика. Створимо кнопку, яка буде викликати функцію roll() для відображення випадкового числа від 1 до 6.


Кожен раз, при натисканні на кнопку з'являється нове число.
Завдання
1. Змінити програму так, щоб імітувати кубик із 12-ма гранями.
2. Змінити програму так, щоб імітувати викидання двох шестигранних кубиків.

Проект "Малюємо слоненя"

1 коментар:

  1. А можете дати відповідь до пректу "Малюємо слоненя"?Мені треба вставити як приклад в презентацію.Заряннє дякую!

    ВідповістиВидалити

Примітка: лише член цього блогу може опублікувати коментар.