عن المشروع

dbwidgets هي مكتبة Python تجلب عناصر تحكم البيانات بأسلوب Delphi إلى تطبيقات PySide6. تتكون من ثلاث طبقات أساسية: مستخرج المخطط (`db`, `DBSQLite`, `DBPostgres`, `DBMySQL`/`DBMariaDB`) الذي يقرأ الجداول والأعمدة والمفاتيح الأساسية والأجنبية؛ طبقة مجموعة البيانات (`DataSet`, `QueryDataSet`, `DataSource`, `Field`) التي توفر مؤشرًا وتحريرًا وإدراجًا وحذفًا وتنقلًا رئيسيًا-تفصيليًا؛ وطبقة الأدوات (`DBText`, `DBEdit`, `DBGrid`, `DBNavigator`, `DBLookupComboBox`, `DBImage`, `DBCtrlGrid`, إلخ) التي ترتبط مباشرة بمصدر بيانات دون أسلاك إضافية. تستخلص المكتبة تلقائيًا علاقات الرئيسي-التفصيلي من المفاتيح الأجنبية، وتدعم الحقول المحسوبة والحقول البحثية، وتقدم ميزات تحرير غنية مثل الصفوف الفارغة للإدراج، ومجموعات بيانات query للقراءة فقط، ومعالجة الكائنات الثنائية الكبيرة (blob) مع عمليات التحميل والحفظ. يوفر التكامل مع Qt Designer عبر إضافة يمكن أن تحمل ملف مشروع `dbwidgets.json`، مما يسمح للأشكال بعرض بيانات حية أثناء التصميم. كما توفر الإضافة مربع حوار للاتصال ومدير المصدر. يتم الربط في وقت التشغيل من خلال أدوات `bind` و `ui_loader`، أو عن طريق ترقية الأدوات الأساسية. يتم الاحتفاظ بواجهة برمجة التطبيقات الأصلية (`dbwidgets.widgets`) للتوافق مع الإصدارات السابقة. يتضمن المشروع توثيقًا شاملاً، ونصوصًا مثالية تغطي مجموعات البيانات الأساسية، والشبكات، والرئيسي-التفصيلي، والبحث، والاستعلامات، وأشكال Designer، ومجموعة اختبار تعمل بدون واجهة على قاعدة بيانات SQLite في الذاكرة. توضح مقاطع العرض التجريبي سير العمل الكامل من استخراج المخطط إلى نموذج تم إنشاؤه في Designer يحتوي على شبكات قابلة للتحرير وملاحين.