[python] PySimpleGUI에서 데이터 그리드 기능 사용하기

데이터 그리드란 표 형태로 데이터를 표시하는 컨트롤입니다. PySimpleGUI는 사용하기 쉽고 강력한 GUI 라이브러리로서, 데이터 그리드 기능도 제공합니다. 이번 글에서는 PySimpleGUI에서 데이터 그리드를 어떻게 사용하는지 알아보겠습니다.

데이터 그리드 생성하기

PySimpleGUI에서 데이터 그리드를 생성하려면 sg.Table을 사용합니다. sg.Table은 그리드에 표시할 데이터와 열 이름을 입력하여 초기화됩니다.

import PySimpleGUI as sg

# 데이터
data = [
    ['John', 'Doe', 25],
    ['Jane', 'Smith', 30],
    ['Tom', 'Williams', 35]
]

# 열 이름
header = ['First Name', 'Last Name', 'Age']

# 데이터 그리드 생성
layout = [[sg.Table(values=data, headings=header, auto_size_columns=True)]]

window = sg.Window('Data Grid', layout)

while True:
    event, values = window.read()
    if event == sg.WINDOW_CLOSED:
        break

window.close()

위의 코드에서 data는 그리드에 표시할 데이터를 나타내고, header는 열 이름을 나타냅니다. values 매개변수에는 데이터를, headings 매개변수에는 열 이름을 전달하여 PySimpleGUI 데이터 그리드를 초기화합니다. auto_size_columns 매개변수를 True로 설정하면 열 너비가 자동으로 조절됩니다.

데이터 그리드 업데이트하기

데이터 그리드에서 표시되는 데이터를 업데이트해야 할 때는 update 메서드를 사용합니다. update 메서드는 그리드의 values 속성을 변경하여 데이터를 업데이트합니다.

import PySimpleGUI as sg

data = [
    ['John', 'Doe', 25],
    ['Jane', 'Smith', 30],
    ['Tom', 'Williams', 35]
]

header = ['First Name', 'Last Name', 'Age']

layout = [[sg.Table(values=data, headings=header, auto_size_columns=True)]]

window = sg.Window('Data Grid', layout)

while True:
    event, values = window.read()
    if event == sg.WINDOW_CLOSED:
        break

    # 데이터 업데이트
    data[0][2] += 1
    window['values'].update(data)

window.close()

위의 예제에서는 data[0][2] 값을 1 증가시켜 데이터를 업데이트하고, window['values'].update(data)를 통해 데이터 그리드를 업데이트합니다.

추가 기능 사용하기

PySimpleGUI 데이터 그리드에는 추가적인 기능을 사용할 수도 있습니다. 예를 들어, 특정 행을 선택하거나 행을 정렬하는 등의 작업을 할 수 있습니다. 자세한 내용은 PySimpleGUI 문서를 참조하시기 바랍니다.

결론

PySimpleGUI를 사용하면 간단한 코드로 데이터 그리드를 생성하고 업데이트하는 것이 가능합니다. 데이터 그리드를 사용하면 많은 양의 데이터를 표시하고 관리하는 데 도움이 될 수 있습니다. PySimpleGUI의 다양한 기능을 활용하여 자신만의 데이터 그리드를 만들어보세요.