About this project
dbwidgets is a Python library that brings Delphi‑style data controls to PySide6 applications. It consists of three core layers: a schema extractor (`db`, `DBSQLite`, `DBPostgres`, `DBMySQL`/`DBMariaDB`) that reads tables, columns, primary and foreign keys; a dataset layer (`DataSet`, `QueryDataSet`, `DataSource`, `Field`) that provides cursor, edit, insert, delete and master‑detail navigation; and a widget layer (`DBText`, `DBEdit`, `DBGrid`, `DBNavigator`, `DBLookupComboBox`, `DBImage`, `DBCtrlGrid`, etc.) that binds directly to a data source without extra wiring. The library automatically derives master‑detail relationships from foreign keys, supports calculated and lookup fields, and offers rich editing features such as blank rows for inserts, read‑only query datasets, and blob handling with load/save operations. Integration with Qt Designer is provided via a plugin that can load a `dbwidgets.json` project file, allowing forms to display live data while designing. The plugin also supplies a connection dialog and source manager. Runtime binding is done through `bind` and `ui_loader` utilities, or by promoting base widgets. An original API (`dbwidgets.widgets`) is kept for backward compatibility. The project includes comprehensive documentation, example scripts covering basic datasets, grids, master‑detail, lookups, queries, and Designer forms, and a test suite that runs headless on an in‑memory SQLite database. Demo videos illustrate the full workflow from schema extraction to a Designer‑built form with editable grids and navigators.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.