📅  最后修改于: 2023-12-03 15:06:51.464000             🧑  作者: Mango
本文将介绍如何使用Python语言编写一个天气应用程序。通过该程序,用户可以输入城市名,然后获取该城市的天气预报。
使用 pip 命令安装 requests 模块。
pip install requests
程序主要分为三个部分
使用Tkinter来创建GUI,使用requests获取城市天气信息,使用Label控件显示天气预报。
以下是完整的代码片段
import requests
import tkinter as tk
def get_weather(city):
url = "https://api.openweathermap.org/data/2.5/weather?q={}&appid={}".format(city, "YOUR_API_KEY")
r = requests.get(url)
data = r.json()
weather = {
"description": data["weather"][0]["description"],
"temperature": data["main"]["temp"],
"humidity": data["main"]["humidity"],
"pressure": data["main"]["pressure"]
}
return weather
def show_weather():
city = entry.get()
weather = get_weather(city)
description_label['text'] = 'Description: {}'.format(weather['description'])
temperature_label['text'] = 'Temperature: {}°C'.format(weather['temperature'] - 273)
humidity_label['text'] = 'Humidity: {}%'.format(weather['humidity'])
pressure_label['text'] = 'Pressure: {}hPa'.format(weather['pressure'])
root = tk.Tk()
root.title('Weather App')
input_frame = tk.Frame(root)
input_frame.pack()
entry = tk.Entry(input_frame, width=30)
entry.pack(side=tk.LEFT)
button = tk.Button(input_frame, text='Search', command=show_weather)
button.pack(side=tk.LEFT)
result_frame =tk.Frame(root)
result_frame.pack(pady=20)
description_label = tk.Label(result_frame, font=('Calibri', 14))
description_label.pack()
temperature_label = tk.Label(result_frame, font=('Calibri', 14))
temperature_label.pack()
humidity_label = tk.Label(result_frame, font=('Calibri', 14))
humidity_label.pack()
pressure_label = tk.Label(result_frame, font=('Calibri', 14))
pressure_label.pack()
root.mainloop()
将代码保存为 weather.py
,在终端运行以下命令:
python weather.py
程序会打开 Tkinter 窗口,可以输入城市名进行搜索。
本文介绍了如何使用 Python 和 Tkinter 来构建一个天气应用程序。通过使用 requests 模块从 API 中获取天气数据,并通过 Tkinter 将数据显示在 GUI 中。
如果您想改善这个应用程序,您可以添加更多功能,例如显示更多的天气信息、添加一个图标、或者添加一个气象警报,等等。