[python] PySimpleGUI에서 워크플로우 관리 도구 만들기

PySimpleGUI는 파이썬으로 만들어진 간단하고 사용하기 쉬운 GUI 개발 도구입니다. 이번 포스트에서는 PySimpleGUI를 사용하여 간단한 워크플로우 관리 도구를 만드는 방법에 대해 알아보겠습니다.

필요한 패키지 설치하기

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

pip install PySimpleGUI

워크플로우 관리 도구의 기능

우리가 만들 워크플로우 관리 도구는 다음과 같은 기능을 가지고 있어야 합니다.

  1. 워크플로우 작업 추가하기
  2. 작업들의 순서 변경하기
  3. 작업들 간의 의존성 설정하기
  4. 작업들 실행하기
  5. 작업들의 상태 확인하기

PySimpleGUI를 사용하여 GUI 만들기

PySimpleGUI를 사용하여 GUI를 만들기 위해서는 다음과 같은 코드를 작성해야 합니다.

import PySimpleGUI as sg

layout = [[sg.Text("워크플로우 관리 도구")],
          [sg.Input(key="-TASK-"), sg.Button("추가")],
          [sg.Listbox(values=[], size=(30, 6), key="-TASK_LIST-")],
          [sg.Button("순서 변경"), sg.Button("의존성 설정")],
          [sg.Output(size=(30, 6), key="-OUTPUT-")],
          [sg.Button("실행"), sg.Button("상태 확인")],
          [sg.Button("종료")]]

window = sg.Window("워크플로우 관리 도구", layout)

while True:
    event, values = window.read()
    
    if event == sg.WINDOW_CLOSED or event == '종료':
        break
    
    if event == '추가':
        task = values["-TASK-"]
        window["-TASK_LIST-"].update(values=task, append=True)
        window["-TASK-"].update('')
        
    if event == "실행":
        tasks = values["-TASK_LIST-"]
        for task in tasks:
            window["-OUTPUT-"].print(f"작업 실행 중: {task}")
            # 각 작업 실행하는 코드를 작성해야 함.
            
    if event == "상태 확인":
        # 작업들의 상태를 확인하는 코드를 작성해야 함.

위 코드는 워크플로우 관리 도구의 기본적인 GUI를 만들기 위한 코드입니다. 코드에서는 PySimpleGUI의 다양한 위젯을 사용하여 창을 구성하고, 버튼 클릭과 같은 이벤트를 처리하는 로직을 작성하였습니다.

추가 기능 구현하기

위 코드에서는 작업 추가와 작업 실행에 대한 로직만 구현되어 있습니다. 순서 변경과 의존성 설정, 작업들의 상태 확인과 같은 추가 기능은 개별적으로 구현하여 위 코드에 추가해야 합니다.

결론

이렇게 PySimpleGUI를 사용하여 워크플로우 관리 도구를 만들 수 있습니다. PySimpleGUI의 간편한 문법과 다양한 위젯들을 활용하여 원하는 기능을 구현할 수 있습니다.

참고 문서: