[python] PySimpleGUI를 사용하여 시스템 모니터링 도구 만들기

이번에는 PySimpleGUI 라이브러리를 사용하여 시스템 모니터링 도구를 만들어보겠습니다. PySimpleGUI는 Python으로 간단한 GUI 애플리케이션을 개발할 수 있는 라이브러리입니다.

1. PySimpleGUI 설치하기

우선 PySimpleGUI를 설치해야 합니다. 아래의 명령어를 사용하여 PySimpleGUI를 설치할 수 있습니다.

pip install PySimpleGUI

2. 필요한 라이브러리 import하기

시스템 모니터링을 위해 psutil 라이브러리를 사용합니다. psutil은 시스템의 다양한 정보를 제공하는 라이브러리입니다. 아래의 코드를 사용하여 psutil 라이브러리를 import하세요.

import psutil

또한 PySimpleGUI 라이브러리도 import해야 합니다.

import PySimpleGUI as sg

3. GUI 레이아웃 설정하기

이제 모니터링 도구의 GUI 레이아웃을 설정해보겠습니다. 가장 간단한 형태로 CPU와 메모리 사용량을 출력하는 창을 만들어보겠습니다. 아래의 코드를 사용하여 GUI 레이아웃을 설정해주세요.

layout = [
    [sg.Text('CPU 사용량: '), sg.Text('', key='_CPU_')],
    [sg.Text('메모리 사용량: '), sg.Text('', key='_MEMORY_')],
    [sg.Button('종료')]
]

4. GUI 창 생성하기

이제 위에서 설정한 GUI 레이아웃을 바탕으로 GUI 창을 생성해보겠습니다. 아래의 코드를 사용하여 GUI 창을 생성하세요.

window = sg.Window('시스템 모니터링', layout)

5. 이벤트 루프 실행하기

GUI 창이 정상적으로 생성되었으면, 이벤트 루프를 실행하여 사용자의 입력과 시스템 정보를 업데이트할 수 있도록 합니다. 아래의 코드를 사용하여 이벤트 루프를 실행하세요.

while True:
    event, values = window.read()
    
    if event == sg.WINDOW_CLOSED or event == '종료':
        break
    
    cpu_percent = psutil.cpu_percent()
    memory_percent = psutil.virtual_memory().percent
    
    window['_CPU_'].update(f'{cpu_percent}%')
    window['_MEMORY_'].update(f'{memory_percent}%')

위의 코드에서 psutil.cpu_percent() 함수는 현재 CPU 사용량을 반환하고, psutil.virtual_memory().percent는 현재 메모리 사용량을 반환합니다. 각각의 사용량을 GUI 창에 업데이트합니다.

6. 프로그램 종료

GUI 창을 닫거나 ‘종료’ 버튼이 클릭되면, 프로그램이 종료됩니다. 아래의 코드를 사용하여 프로그램을 종료하세요.

window.close()

참고 자료