KDDockWidgets ، إطار تنفيذ متقدم لـ QDockWidget

KDQDockWidget

المجموعة KDAB هي شركة استشارية برمجية لتطبيقات Qt و C ++ و OpenGL لمنصات مختلفة (سطح المكتب ، مدمج ، متنقل) ، بالإضافة إلى ذلك يوفر دروسًا خصوصية لتطوير تطبيقات Qt من البداية وفي نقل جميع الإطارات الشعبية إلى Qt.

على مر السنين ، ساهمت KDAB وتمويل تطوير QDockWidget. ولكن نظرًا لأن التغييرات وإصلاحات الأخطاء استغرق تنفيذها عدة أيام ، باستخدام QdockWidget ، اتضح أنه ليس خيارًا جيدًا ، مما أدى إلى ولادة KDDockWidgets.

KDDockWidgets هو إطار إرساء متقدم لـ QDockWidgets، والذي يوسع استخدامه من خلال إضافة وظائف لا يدعمها QDockWidgets.

يجمع QdockWidget أصلاً بين كود واجهة المستخدم الرسومية والمنطق مع الحالة ، كما يجعل من الصعب جدًا المضي قدمًا في الميزات الجديدة ، مما يتسبب في تعقيد كبير في تنفيذه داخل المنصات المختلفة. نظرًا لأنه مكون أساسي لسلسلة من واجهات المستخدم الرسومية ، يمكنك بواسطته نقل عناصر النافذة بالكامل (أشرطة الأدوات ، ومجموعات الأدوات ، وما إلى ذلك) حيثما تريد.

ومع ذلك، جادل KDAB بأن صيانة كود QDockWidgets ليست سهلة للغاية ، كما يعلق على ذلك:

ولدت KDDockWidgets من حاجتي للحفاظ على سلامة عقلي بعد أن عملت في مشروعين يتطلبان تخصيصًا واسعًا. واحد حيث حاولنا العمل مباشرة في المنبع ولكن معدل الانحدار انتهى به الأمر كثيرًا.

وواحد آخر حيث سلكت طريق استخدام واجهات برمجة التطبيقات الخاصة ، وأحداث الماوس المزيفة ، وفلاتر الأحداث ، والتي بدت فكرة جيدة في البداية ، لكن انتهى بي الأمر إلى عالم مليء بالألم. أيضًا ، أصبح عملاؤنا أكثر إبداعًا في طلباتهم ، لذلك كان من الواضح أننا بحاجة إلى إطار عمل أفضل لرسو السفن.

المشكلة الرئيسية هي تصميمه، متجانسة تمامًا ولكنها قابلة للتكوين (يمكننا اختيار الوظائف المتاحة للمستخدم ، حتى لو كان عدد قليل من الأشخاص يفعلون ذلك ، للرسوم المتحركة) ، باستخدام رمز سباغيتي (لحسن الحظ مزج المنطق وحالة المكون). لذلك ، يمكن أن يؤدي أي تغيير إلى حدوث عدد كبير من الانحدارات.

لهذا السبب قررت KDAB إنشاء KDDockWidgets، والتي تسعى من خلالها إلى تبسيط تصميم QDockWidgets بشكل كبير ، مع تسهيل تكيفها مع مواقف معينة.

يوفر KDDockWidgets الوظائف التالية:

  • أن تكون قادرًا على إرساء الأدوات في نافذة عائمة وإرساء تلك المجموعة في النافذة الرئيسية
  • ثبت في أي نافذة ، وليس فقط النافذة الرئيسية
  • الإرساء في وسط النافذة الرئيسية
  • دعم لعلامات التبويب القابلة للفصل في الأداة المركزية داخل النافذة الرئيسية
  • القدرة على فصل علامات التبويب من شريط علامات التبويب في منطقة الإرساء
  • القدرة على الجمع بين عدة علامات تبويب من خلال الجمع بين مختلف المكونات.
  • كشف أدوات المساعدة الداخلية بحيث يمكن للمستخدم تخصيصها أو توفير أدواتها الخاصة.
  • يمكن لمجموعات المكونات التبديل بحرية من نافذة خارجية (تحتوي فقط على مجموعة المكونات هذه) إلى النافذة الرئيسية (وهي ميزة مطبقة جزئيًا في Qt 5.10).
  • تخصيص الحاجيات علامة التبويب
  • تخصيص أشرطة العنوان
  • تخصيص إطارات النوافذ
  • بالإضافة إلى إبراز أن التغيير الرئيسي هو إضافة مؤشرات دقيقة لإزالة العناصر من واجهة المستخدم الرسومية ، بالإضافة إلى حقيقة أن فكرة الأداة المركزية تختفي ، حيث إنها لم تعد عنصرًا محددًا.

تفصل المنظمة الجديدة بوضوح المنطق عن الواجهة الرسومية، بحيث يكون وقت التشغيل الأساسي يمكن إعادة استخدامها بسهولة لواجهات Qt Quick (وهو متوقع في النهاية). كما أنه يجعل من السهل تخصيص الواجهة ، ويمكن للمستخدم توفير عناصر واجهة المستخدم الخاصة به لأي جزء من الواجهة.

وبالإضافة إلى ذلك، الهدف من KDDockWidgets هو أن يكون إطار عمل ، بحيث يمكنك بسهولة تجاوز الواجهات لتوفير مظهر وسلوك مخصصين. KDDockWidgets هو إطار عمل مفتوح المصدر ، التي تخضع لترخيص GPLv2 و GPLv3.

يتوفر رمز KDDockWidgets بالإضافة إلى عرض توضيحي له في الرابط التالي.


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.