프로젝트 소개

dbwidgets는 PySide6 앱에 Delphi 스타일 데이터 컨트롤을 가져오는 Python 라이브러리입니다. 세 가지 핵심 계층으로 구성됩니다: 테이블, 열, 기본 및 외부 키를 읽는 스키마 추출기(db, DBSQLite, DBPostgres, DBMySQL/DBMariaDB); 커서, 수정, 삽입, 삭제, 마스터-디테일 탐색을 제공하는 데이터셋 계층(DataSet, QueryDataSet, DataSource, Field); 그리고 데이터 소스에 직접 바인딩되는 위젯 계층(DBText, DBEdit, DBGrid, DBNavigator, DBLookupComboBox, DBImage, DBCtrlGrid 등)으로 추가 배선 없이 동작합니다. 라이브러리는 외래 키로부터 마스터-디테일 관계를 자동으로 도출하며, 계산 및 조회 필드를 지원하고 빈 행 삽입, 읽기 전용 쿼리 데이터셋, 로드/저장 작업을 통한 Blob 처리와 같은 풍부한 편집 기능을 제공합니다. dbwidgets.json 프로젝트 파일을 로드할 수 있는 플러그인을 통해 Qt Designer와의 통합이 가능하며, 폼이 디자인 중에도 실시간 데이터를 표시합니다. 플러그인은 연결 대화상자 및 소스 관리자도 제공합니다. 런타임 바인딩은 bind 및 ui_loader 유틸리티를 통해 이루어지며, 기본 위젯 승격으로도 설정 가능합니다. 후方 호환성을 위해 dbwidgets.widgets 기본 API가 유지됩니다. 이 프로젝트에는 포괄적인 문서화, 기본 데이터셋부터 그리드, 마스터-디테일, 조회, 쿼리, Designer 폼까지 다루는 예제 스크립트, 인메모리 SQLite 데이터베이스에서 헤드리스로 실행되는 테스트 스위트가 포함되어 있습니다. 데모 영상은 스키마 추출부터 수정 가능한 그리드와 탐색기가 포함된 Designer 빌드 폼까지 전체 워크플로우를 보여줍니다.