Будьласка допоможіть а) Розробіть у середовищі програмування проєкт, в якому буде міститися 2 кнопки: при натисканні однієї з'являється зображення рибки, побудоване за допомогою Canvas з геометричних примітивів (зображення має відповідати зразку на мал. Рибка), при натисканні на другу полотно має очиститися.
Answers & Comments
Ответ:import tkinter as tk
class FishCanvas(tk.Canvas):
def __init__(self, master, **kwargs):
super().__init__(master, **kwargs)
self.create_fish()
def create_fish(self):
self.create_oval(50, 50, 150, 150, fill='orange', outline='')
self.create_polygon(150, 100, 200, 75, 200, 125, fill='white', outline='')
class App(tk.Tk):
def __init__(self):
super().__init__()
self.title('Fish Canvas')
self.geometry('300x300')
self.fish_canvas = FishCanvas(self, width=200, height=200)
self.fish_canvas.pack()
self.clear_button = tk.Button(self, text='Clear', command=self.clear_canvas)
self.clear_button.pack()
def clear_canvas(self):
self.fish_canvas.delete('all')
if __name__ == '__main__':
app = App()
app.mainloop()
Объяснение: Ми створюємо клас FishCanvas, який наслідує від Canvas і містить метод create_fish, який малює зображення рибки за допомогою примітивів Canvas.
В класі App ми створюємо вікно за допомогою Tk, розміщуємо на ньому FishCanvas і кнопку для очищення полотна. При натисканні на кнопку викликається метод clear_canvas, який видаляє всі елементи на FishCanvas.
В основній частині програми створюється об'єкт App і запускається цикл обробки подій за допомогою методу mainloop.
Зображення рибки буде відображене на FishCanvas при запуску програми. При натисканні на кнопку "Clear" полотно буде очищено.