Хочу,чтобы при нажатии кнопки "Посмотреть погоду" начиналась анимация загрузки с выводом на экран. После вывода нужной информации о погоде - анимация заканчивалась. Как это сделать?
Вот код -
from tkinter import *
from tkinter import ttk
import requests
from bs4 import BeautifulSoup
from datetime import datetime
#Создание окна
window = Tk()
w = 600
h = 600
window.geometry('600x600')
window.geometry(f"+{(window.winfo_screenwidth() - 650) // 2}+{(window.winfo_screenheight() - 650) // 2}")
canvas = Canvas(window,width=w, height=h)
today = datetime.today().strftime('%d.%m.%Y')
data = Label(window, text=f' {today}',bg='#fda0a7',fg='white',font='GeosansLight 12')
data.place(x=505,y=565)
#Поле ввода
edit = Entry(window,bg='white',width=30)
edit.pack()
canvas.pack()
# window.resizable(0, 0)
window.title('Прогноз погоды MixWeather')
#Погода на сегодня текст
canvas.create_text(190,70,anchor=W,font='Code-Pro-Light-LC 26',fill='white',text='Погода на сегодня')
def get_weather():
city = edit.get()
key = ''
url = 'http://api.openweathermap.org/data/2.5/weather'
# params = {'APPID': key, 'q': city, 'units': 'metric'}
params={'q': city, 'type': 'like', 'units': 'metric', 'APPID': key}
result = requests.get(url, params=params)
weather = result.json()
unitaz['text'] = f'Информация о городе: {str(weather["name"])}'
taburet['text'] = f'Температура: {weather["main"]["temp"]}°'
sardelka['text'] = f'Облачность: {weather["clouds"]["all"]}%.'
sosiska['text'] = f'Скорость ветра: {weather["wind"]["speed"]}м/c'
btn = ttk.Button(window, text='Посмотреть погоду', command=get_weather)
def clear():
edit.delete(0, END) # удаление введенного текста
def display():
label["text"] = edit.get() # получение введенного текста
# вставка начальных данных
edit.insert(0, "Введите название своего города")
clear_button = ttk.Button(text="Очистить", command=clear)
clear_button.pack(side=LEFT, anchor=N, padx=6, pady=6)
clear_button.place(x=390,y=0,height=21)
unitaz = Label(window, text='Информация о городе:',bg='#fa92bc',fg='#262626', font='Code-Pro-Bold')
taburet = Label(window, text='Температура:',bg='#f98ec1',fg='#454545', font='Code-Pro-Bold')
sardelka = Label(window, text='Облачность:',bg='#f788c3',fg='#454545', font='Code-Pro-Bold')
sosiska = Label(window, text='Скорость ветра:',bg='#f989c0',fg='#454545', font='Code-Pro-Bold')
unitaz.place(x=30,y=470)
taburet.place(x=30,y=500)
sardelka.place(x=30,y = 530)
sosiska.place(x=30,y=560)
canvas.pack()
entry = ttk.Entry()
entry.pack(anchor=NW, padx=6, pady=6)
btn.pack()
btn.place(x=240,y=19)
label = ttk.Label()
label.pack(anchor=NW)
window.mainloop()