इस प्रोजेक्ट के बारे में

dbwidgets एक Python लाइब्रेरी है जो PySide6 एप्लिकेशनों में Delphi-शैली के डेटा नियंत्रण लाती है। यह तीन मुख्य परतों से बनी है: एक स्कीमा एक्सट्रैक्टर (`db`, `DBSQLite`, `DBPostgres`, `DBMySQL`/`DBMariaDB`) जो टेबल, कॉलम, प्रामरी और फॉरेन की प़ता है; एक डेटासेट परत (`DataSet`, `QueryDataSet`, `DataSource`, `Field`) जो कर्सर, एडिट, इन्सर्ट, डिलीट और मास्टर-डिेल नेविगेशन प्रदान करती है; और एक विजेट परत (`DBText`, `DBEdit`, `DBGrid`, `DBNavigator`, `DBLookupComboBox`, `DBImage`, `DBCtrlGrid`, आदि) जो बिना अतिरिक्त वायरिंग के सीधे डेटा स्रोत से बाइंड होती है। लाइब्रेरी फॉरेन की से मास्टर-डिेल संबंध स्वतः निकालती है, परिकलित और लुकअप फ़ील्ड का समर्थन करती है, और इन्सर्ट के लिए खाली पंक्तियाँ, रीड-ओनली क्वेरी डेटासेट, तथा लोड/सेव ऑपरेशनों के साथ blob हैंडलिंग जैसी समृद्ध संपादन सुविधाएँ देती है। Qt Designer के साथ एकीकरण एक प्लगइन के माध्यम से प्रदान किया जाता है जो `dbwidgets.json` प्रोजेक्ट फ़ाइल लोड कर सकता है, जिससे डि़ाइन करते समय फॉर्म लाइव डेटा दिखा सकते हैं। प्लगइन कनेक्शन डायलॉग और स्रोत प्रबंधक भी देता है। रनटाइम बांडिंग `bind` और `ui_loader` उपयोगितां के माध्यम से, या बेस विजेट को प्रोमोट करके की जाती है। एक मूल API (`dbwidgets.widgets`) बैकवर्ड संगतता के लिए रखा गया है। परियोजना में व्यापक दस्तावेज़ीकरण, बुनियादी डेटासेट, ग्रिड, मास्टर-डिेल, लुकअप, क्वेरी और Designer फॉर्म को कवर करने वाली उदाहरण स्क्रिप्टें, तथा एक टेस्ट सूट शामिल है जो इन-मेमोरी SQLite डेटाबेस पर हेडलेस चलता है। डेमो वीडियो स्कीमा एक्सट्रैक्शन से लेकर संपादन योग्य ग्रिड और नेविगेटर वाले Designer-निर्मित फॉर्म तक का पूरा वर्कफ़्लो दर्शाते हैं।