Практична робота №14
Складання програм з використанням графічних даних
Вправа 1. Побудова малюнків.
Завдання. Складіть програму побудови малюнків
та реалізуйте її в середовищі програмування.
Код програми (для варіанту):
from tkinter import *
window = Tk()
c = Canvas(window, width=300, height=300, bg=’white’)
c.pack()
c.create_polygon(100, 10, 20, 90, 180, 90, fill=’orange’)
c.create_rectangle(20, 90, 180, 170, fill=’red’)
c.create_polygon(180, 90, 180, 170, 260, 170, fill=’orange’)
c.create_rectangle(20, 170, 260, 250, fill=’yellow’)
Збережіть програму з іменем Побудова малюнків.
Вправа 2. Стовпчаста діаграма.
Завдання. У середовищі програмування розробіть проєкт, у якому у вікні головної форми буде побудована стовпчаста діаграма, яка демонструє співвідношення між числами: 15, 50,70, 25, 10, 30.
Код програми:
from tkinter import *
window = Tk()
c = Canvas(window, width=200, height=110, bg=’white’)
c.pack()
c.create_rectangle(10, 85, 30, 100, fill=’blue’)
c.create_rectangle(40, 50, 60, 100, fill=’blue’)
c.create_rectangle(70, 30, 90, 100, fill=’blue’)
c.create_rectangle(100, 75, 120, 100, fill=’blue’)
c.create_rectangle(130, 90, 150, 100, fill=’blue’)
c.create_rectangle(160, 70, 180, 100, fill=’blue’)
c.create_line(0, 100, 200, 100)
Збережіть програму з іменем Стовпчаста діаграма.
Вправа 3. Кругова діаграма.
Завдання. У середовищі програмування розробіть проект, у якому у вікні головної форми буде побудована кругова діаграма, яка демонструє склад повітря.
Код програми:
from tkinter import *
window = Tk()
c = Canvas(window, width=200, height=200, bg=’white’)
c.pack()
c.create_oval(10, 10, 190, 190, fill=’lightgrey’, outline=’white’)
c.create_arc(10, 10, 190, 190, start=90, extent=-280, fill=’blue’)
c.create_arc(10, 10, 190, 190, start=90, extent=10, fill=’red’)
c.create_arc(10, 10, 190, 190, start=100, extent=80, fill=’green’)
Збережіть програму з іменем Кругова діаграма.
Вправа 4. Площа фігур.
Завдання. Створіть проєкт Площа фігур, вікно якого містить зображення трикутника, прямокутника й кола різних кольорів та три кнопки. Після натиснення кнопки на екрані з’являється формула для обчислення площі фігури певної фігури .
Вікно програми має вигляд:
Код програми:
from tkinter import *
def button_click_1():
c.create_text(70, 120, text=’S = 0,5 * a * h’)
def button_click_2():
c.create_text(270, 120, text=’S=a*b’)
def button_click_3():
c.create_text(400, 120, text=’S = π*r*r’)
window = Tk()
c = Canvas(window, width=500, height=150, bg=’white’)
c.pack()
c.create_polygon(100, 10, 20, 90, 180, 90, fill=’red’)
c.create_rectangle(200, 10, 350, 90, fill=’blue’)
c.create_oval(370, 10, 450, 90, fill=’green’)
button = Button (window, text=’Площа трикутника’, command=button_click_1)
button.pack(pady =
button = Button (window, text=’Площа прямокутника’, command=button_click_2)
button.pack(pady =
button = Button (window, text=’Площа кола’, command=button_click_3)
button.pack(pady =
Збережіть програму з іменем Площа фігур.
Закрийте всі відкриті вікна.
Повідомте вчителя про завершення роботи.
Ответ:
1. Створення кнопки в Python:
Для створення кнопки використовується клас Button з бібліотеки Tkinter.
(скрипт есть ниже)
2. Властивості кнопки в Tkinter:
text: Текст, який відображається на кнопці.
command: Функція, яка викликається при натисканні кнопки.
width і height: Ширина і висота кнопки.
bg або background: Колір фону кнопки.
fg або foreground: Колір тексту на кнопці.
font: Шрифт тексту кнопки.
3. Задання значень властивостей кнопки:
Властивості можна задавати під час створення кнопки або змінювати їх пізніше.
(код тоже есть ниже)
4. Розміщення кнопки в вікні:
Для розміщення кнопки в вікні використовуйте метод pack, grid або place.
5. Призначення обробників подій для кнопки:
Обробники подій можна призначити за допомогою параметра command.
6. Призначення обробника події Click:
Для обробки кліку кнопки використовується обробник події command, який вказує на функцію, яка викликається при натисканні кнопки.
Скрипты:
1. Кнопка
import tkinter as tk
root = tk.Tk()
button = tk.Button(root, text=»Click me»)
button.pack()
root.mainloop()
3.
button = tk.Button(root, text=»Click me», width=10, height=2, bg=»blue», command=my_function)
4.
button.pack() # Розміщення за принципом «пакування»
# або
button.grid(row=0, column=0) # Розміщення за принципом «сітки»
5. button = tk.Button(root, text=»Click me», command=my_function)
6. def on_button_click():
print(«Button clicked!»)
button = tk.Button(root, text=»Click me», command=on_button_click)