[python] PySimpleGUI에서 스타트업 기업 관리 도구 만들기

소개

프로그래밍 시작업에는 지속적인 업무와 프로젝트 관리가 필요합니다. 이를 위해 PySimpleGUI를 사용하면 사용자 친화적인 인터페이스를 가진 스타트업 기업 관리 도구를 만들 수 있습니다.

PySimpleGUI란?

PySimpleGUI는 Python을 위한 사용하기 쉬운 GUI 프레임워크입니다. 이 프레임워크를 사용하면 텍스트 출력, 입력 상자, 버튼 등과 같은 기본 요소를 쉽게 만들 수 있습니다.

필요한 기능

  1. 직원 목록 관리: 직원의 이름, 역할, 연봉 등을 저장하고 편집할 수 있어야 합니다.
  2. 프로젝트 관리: 진행 중인 프로젝트의 목록을 표시하고 각 프로젝트의 상태와 중요도를 추적할 수 있어야 합니다.
  3. 업무 할당: 직원들에게 업무를 할당하고 해당 업무의 진행 상황을 표시할 수 있어야 합니다.
  4. 일정 관리: 프로젝트 및 업무의 마감일을 설정하고 관리할 수 있어야 합니다.

구현 방법

  1. PySimpleGUI를 설치합니다: pip install PySimpleGUI
  2. GUI 요소를 사용하여 직원 목록, 프로젝트 목록, 업무 할당 및 일정 관리 기능을 구현합니다.
  3. 데이터를 적절한 데이터 구조에 저장하여 필요한 정보를 관리합니다.
  4. 각 기능에 대한 적절한 이벤트 핸들러를 작성합니다.
  5. 사용자에게 보여질 GUI를 작성하고 사용자 요청에 따라 데이터를 업데이트합니다.

예제 코드

import PySimpleGUI as sg

# 직원 목록을 저장할 데이터 구조
employees = []

# 직원 추가창의 레이아웃
layout_add_employee = [
    [sg.Text('Name:'), sg.InputText(key='-NAME-')],
    [sg.Text('Role:'), sg.InputText(key='-ROLE-')],
    [sg.Text('Salary:'), sg.InputText(key='-SALARY-')],
    [sg.Button('Add Employee')]
]

# 메인창 레이아웃
layout_main = [
    [sg.Button('Add Employee')],
    [sg.Listbox(values=employees, key='-EMPLOYEE_LIST-', size=(30,10))]
]

# 애플리케이션 실행
window = sg.Window('Startup Management', layout_main)

while True:
    event, values = window.read()

    if event == sg.WINDOW_CLOSED:
        break

    # 직원 추가 버튼 클릭 시
    if event == 'Add Employee':
        add_window = sg.Window('Add Employee', layout_add_employee)

        while True:
            add_event, add_values = add_window.read()

            if add_event == sg.WINDOW_CLOSED:
                break

            # 직원 목록에 추가
            if add_event == 'Add Employee':
                name = add_values['-NAME-']
                role = add_values['-ROLE-']
                salary = add_values['-SALARY-']
                employees.append({'Name': name, 'Role': role, 'Salary': salary})
                window['-EMPLOYEE_LIST-'].update(values=employees)

        add_window.close()

window.close()

참고 자료