用api和tkinter做一个有界面的查询天气软件
时间: 2024-06-08 18:10:57 浏览: 156
好的,以下是基于聚合数据API和Tkinter库实现的天气查询软件代码:
```python
import requests
import tkinter as tk
# 聚合数据API Key
API_KEY = "您的API Key"
def get_weather(city):
url = "http://apis.juhe.cn/simpleWeather/query"
params = {
"city": city,
"key": API_KEY
}
response = requests.get(url, params=params)
data = response.json()
return data
class WeatherApp:
def __init__(self, master):
self.master = master
master.title("天气查询")
self.city_label = tk.Label(master, text="城市:")
self.city_label.grid(row=0, column=0)
self.city_entry = tk.Entry(master)
self.city_entry.grid(row=0, column=1)
self.query_button = tk.Button(master, text="查询", command=self.query_weather)
self.query_button.grid(row=0, column=2)
self.result_label = tk.Label(master, text="")
self.result_label.grid(row=1, column=0, columnspan=3)
def query_weather(self):
city = self.city_entry.get()
if not city:
tk.messagebox.showerror("错误", "请输入城市名!")
return
data = get_weather(city)
if data["error_code"] != 0:
tk.messagebox.showerror("错误", data["reason"])
return
today = data["result"]["realtime"]
temperature = today["temperature"]
weather = today["info"]
direct = today["direct"]
power = today["power"]
humidity = today["humidity"]
result_text = f"温度:{temperature}℃\n天气:{weather}\n风向:{direct}\n风力:{power}\n湿度:{humidity}"
self.result_label.config(text=result_text)
root = tk.Tk()
app = WeatherApp(root)
root.mainloop()
```
在运行程序之前,需要先在聚合数据官网申请一个API Key,并将其替换成代码中的`API_KEY`变量。另外,还需要安装`requests`库。
运行程序后,在输入框中输入要查询的城市名称,点击“查询”按钮即可显示该城市的天气信息。如果查询出错或者输入内容为空,则会弹出相应的错误提示框。
阅读全文
相关推荐


















