import tkinter as tk
from tkinter import messagebox
import requests
# OpenWeatherMap API key
API_KEY = '2dd7ff7ea5b32023f96b6490b89ed94b' # OpenWeatherMap에서 받은 API 키를 입력하세요.
def get_weather():
city = city_entry.get()
if not city:
messagebox.showwarning("입력 오류", "도시 이름을 입력하세요.")
return
# OpenWeatherMap API URL
try:
response = requests.get(url)
weather_data = response.json()
if weather_data.get("cod") != 200:
messagebox.showerror("오류", f"도시를 찾을 수 없습니다: {weather_data.get('message')}")
return
# 날씨 정보 표시
city_name = weather_data["name"]
temperature = weather_data["main"]["temp"]
description = weather_data["weather"][0]["description"]
result_label.config(text=f"{city_name}의 날씨\n온도: {temperature}°C\n상태: {description}")
except Exception as e:
messagebox.showerror("오류", f"날씨 데이터를 가져오는데 실패했습니다. {e}")
# Tkinter 창 설정
root = tk.Tk()
root.title("날씨 앱")
# 도시 입력 필드
city_label = tk.Label(root, text="도시 이름:")
city_label.pack(pady=10)
city_entry = tk.Entry(root)
city_entry.pack(pady=5)
# 검색 버튼
search_button = tk.Button(root, text="날씨 검색", command=get_weather)
search_button.pack(pady=10)
# 결과 표시 레이블
result_label = tk.Label(root, text="", font=("Arial", 14))
result_label.pack(pady=20)
# 창 실행
root.geometry("300x250")
root.mainloop()
'정보통신기술(ICT)' 카테고리의 다른 글
로그 함수 (0) | 2024.10.02 |
---|---|
부산의 연간 강수량 예측(1904년 ~ 2023년) (1) | 2024.10.01 |
단위 계단 함수 (0) | 2024.09.27 |
가우시안 델타 함수 (0) | 2024.09.26 |
다항 함수 (0) | 2024.09.25 |