Об этом проекте
dbwidgets — библиотека Python, которая добавляет контролы данных в стиле Delphi в приложения PySide6. Она состоит из трёх основных слоёв: экстрактор схемы (`db`, `DBSQLite`, `DBPostgres`, `DBMySQL`/`DBMariaDB`), который читает таблицы, столбцы, первичные и внешние ключи; слой наборов данных (`DataSet`, `QueryDataSet`, `DataSource`, `Field`), обеспечивающий курсор, редактирование, вставку, удаление и навигацию master-detail; и слой виджетов (`DBText`, `DBEdit`, `DBGrid`, `DBNavigator`, `DBLookupComboBox`, `DBImage`, `DBCtrlGrid` и др.), привязывающихся напрямую к источнику данных без дополнительной настройки. Библиотека автоматически выводит связи master-detail из внешних ключей, поддерживает вычисляемые и lookup-поля и предлагает богатые возможности редактирования: пустые строки для вставки, read-only query datasets и обработку blob через операции load/save. Интеграция с Qt Designer осуществляется через плагин, способный загружать проект в формате `dbwidgets.json`, что позволяет формам отображать живые данные прямо при проектировании. Плагин также предоставляет диалог подключения и менеджер источников. Внутренняя привязка выполняется через утилиты `bind` и `ui_loader`, либо путём промосии базовых виджетов. Оригинальный API (`dbwidgets.widgets`) сохранён для обратной совместимости. Проект включает обширную документацию, примеры скриптов, охватывающие базовые наборы данных, сетки, master-detail, lookups, запросы и формы Designer, а также набор тестов, запускаемых в headless-режиме на in-memory SQLite. Демонстрационные видео показывают полный рабочий процесс — от извлечения схемы до формы, созданной в Designer, с редактируемыми сетками и навигаторами.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.