[python] PySimpleGUI에서 날씨 애플리케이션 개발하기

이번에는 PySimpleGUI를 사용하여 날씨 애플리케이션을 개발해보겠습니다. PySimpleGUI는 Python용 GUI 라이브러리로, 사용하기 쉽고 간결한 문법을 가지고 있어 초보자도 쉽게 GUI 애플리케이션을 개발할 수 있습니다.

개발 준비

먼저, PySimpleGUI를 설치해야 합니다. 아래의 명령어를 사용하여 PySimpleGUI를 설치하세요.

pip install PySimpleGUI

이제 개발에 필요한 라이브러리를 import 합니다.

import PySimpleGUI as sg
import requests

날씨 정보 불러오기

이번 예제에서는 OpenWeatherMap API를 사용하여 날씨 정보를 불러올 것입니다. 따라서, 먼저 API 키를 발급 받아야 합니다. OpenWeatherMap에 접속하여 회원가입을 하고 API Key를 발급 받으세요.

API Key를 발급 받았다면, 아래의 코드를 사용하여 날씨 정보를 불러오는 함수를 작성합니다.

def get_weather(city, api_key):
    url = f"http://api.openweathermap.org/data/2.5/weather?q={city}&appid={api_key}&units=metric"
    response = requests.get(url)
    data = response.json()
    return data

GUI 애플리케이션 개발하기

이제 PySimpleGUI를 사용하여 GUI 애플리케이션을 개발해보겠습니다.

layout = [
    [sg.Text('도시', size=(10, 1)), sg.Input(key='-CITY-')],
    [sg.Button('날씨 확인', key='-GET_WEATHER-')],
    [sg.Text('', key='-WEATHER-', size=(40, 1))]
]

window = sg.Window('날씨 애플리케이션', layout)

while True:
    event, values = window.read()
    
    if event == sg.WINDOW_CLOSED:
        break
    
    if event == '-GET_WEATHER-':
        city = values['-CITY-']
        api_key = 'YOUR_API_KEY'
        weather_data = get_weather(city, api_key)
        temperature = weather_data['main']['temp']
        description = weather_data['weather'][0]['description']
        
        window['-WEATHER-'].update(f"온도: {temperature}°C\n날씨: {description}")

window.close()

위의 코드에서는 도시를 입력받아 날씨를 확인하는 기능을 구현하였습니다. '-CITY-' 키의 값을 가져와 날씨 정보를 불러오고, 불러온 날씨 정보를 화면에 텍스트로 표시합니다.

실행 및 결과 확인

이제 코드를 실행하고 날씨를 확인해보세요. 도시의 이름을 입력한 후 “날씨 확인” 버튼을 클릭하면 해당 도시의 날씨 정보가 텍스트로 표시됩니다.

위의 예제는 PySimpleGUI를 사용하여 날씨 애플리케이션을 개발하는 방법을 간단히 설명한 것입니다. 보다 복잡한 기능을 구현하고 싶다면 PySimpleGUI의 문서를 참고하세요.