Sobre o projeto

dbwidgets é uma biblioteca Python que traz os controles de dados no estilo Delphi para aplicações PySide6. É composta por três camadas principais: uma extratora de esquema (`db`, `DBSQLite`, `DBPostgres`, `DBMySQL`/`DBMariaDB`) que lê tabelas, colunas, chaves primárias e estrangeiras; uma camada de dataset (`DataSet`, `QueryDataSet`, `DataSource`, `Field`) que oferece cursor, edição, inserção, exclusão e navegação mestre‐detalhe; e uma camada de widgets (`DBText`, `DBEdit`, `DBGrid`, `DBNavigator`, `DBLookupComboBox`, `DBImage`, `DBCtrlGrid`, etc.) que se liga diretamente a uma fonte de dados sem necessidade de configuração adicional. A biblioteca deriva automaticamente relacionamentos mestre‐detalhe das chaves estrangeiras, suporta campos calculados e de consulta, e oferece recursos avançados de edição como linhas em branco para inserções, datasets de consulta somente leitura e tratamento de blobs com operações de carregamento e salvamento. A integração com o Qt Designer é feita por meio de um plugin que pode carregar um arquivo de projeto `dbwidgets.json`, permitindo que formulários exibam dados ao vivo durante o design. O plugin também disponibiliza um diálogo de conexão e um gerenciador de origem. A ligação em tempo de execução é realizada por meio dos utilitários `bind` e `ui_loader`, ou promovendo widgets base. Uma API original (`dbwidgets.widgets`) é mantida para compatibilidade com versões anteriores. O projeto inclui documentação abrangente, scripts de exemplo cobrindo datasets básicos, grades, mestre‐detalhe, lookup, queries e formulários do Designer, além de um conjunto de testes que roda em modo headless com banco SQLite em memória. Vídeos de demonstração ilustram todo o fluxo, desde a extração do esquema até um formulário construído no Designer com grades editáveis e navigators.