PyQt
PyQt هي واجهة برمجة تطبيقات بايثون لمجموعة أدوات واجهة المستخدم الرسومية Qt متعددة المنصات ، وتُنفذ كإضافة بايثون . PyQt برنامج مجاني طورته شركة Riverbank Computing البريطانية. وهو متاح بشروط مشابهة لشروط إصدارات Qt الأقدم من 4.5؛ أي أنه يخضع لأنواع مختلفة من التراخيص، بما في ذلك رخصة جنو العمومية العامة (GPL) والرخصة التجارية، ولكنه لا يخضع لرخصة جنو العمومية الصغرى (LGPL). [ 3 ] يدعم PyQt نظام التشغيل مايكروسوفت ويندوز، بالإضافة إلى أنواع مختلفة من أنظمة يونكس ، بما في ذلك لينكس وماك أو إس . [ 4 ]
تُنفذ مكتبة PyQt حوالي 440 فئة وأكثر من 6000 دالة وطريقة [ 5 ] بما في ذلك:
- مجموعة كبيرة من عناصر واجهة المستخدم الرسومية
- فئات للوصول إلى قواعد بيانات SQL ( ODBC ، MySQL ، PostgreSQL ، Oracle ، SQLite ) [ 6 ]
- QScintilla، أداة تحرير النصوص المنسقة القائمة على Scintilla
- أدوات ذكية تعتمد على البيانات يتم ملؤها تلقائيًا من قاعدة بيانات
- محلل XML
- دعم SVG
- فئات لتضمين عناصر تحكم ActiveX على نظام التشغيل Windows (فقط في الإصدار التجاري) [ 7 ]
لإنشاء هذه الروابط تلقائيًا، قام فيل طومسون بتطوير أداة SIP ، والتي تُستخدم أيضًا في مشاريع أخرى.
تاريخ
تم إصدار PyQt لأول مرة بواسطة شركة Riverbank Computing في عام 1998. [ 8 ]
في أغسطس 2009، سعت نوكيا إلى إتاحة واجهة برمجة تطبيقات بايثون بموجب ترخيص LGPL . في ذلك الوقت، كانت نوكيا تمتلك شركة Qt Software ، مطورة مكتبة QT. بعد فشل التوصل إلى اتفاق مع شركة Riverbank Computing، أصدرت نوكيا واجهة برمجة تطبيقاتها الخاصة، PySide ، التي توفر وظائف مماثلة. [ 9 ]
المكونات الرئيسية

يحتوي PyQt4 على وحدات بايثون التالية.
- تحتوي وحدة QtCore على الفئات الأساسية غير المتعلقة بواجهة المستخدم الرسومية، بما في ذلك حلقة الأحداث وآلية الإشارات والفتحات في Qt. كما تتضمن تجريدات مستقلة عن النظام الأساسي لـ Unicode ، والخيوط، والملفات المُرتبطة، والذاكرة المشتركة ، والتعبيرات النمطية ، وإعدادات المستخدم والتطبيق.
- تحتوي وحدة QtGui على معظم فئات واجهة المستخدم الرسومية. وتشمل هذه الفئات عددًا من فئات الجداول والأشجار والقوائم المبنية على نمط تصميم نموذج-عرض-متحكم . كما توفر الوحدة عنصر واجهة مستخدم متطورًا ثنائي الأبعاد (لوحة الرسم) قادرًا على تخزين آلاف العناصر، بما في ذلك عناصر واجهة المستخدم العادية.
- تحتوي وحدة QtNetwork على فئات لكتابة عملاء وخوادم UDP و TCP . كما تتضمن فئات تُنفذ عملاء FTP و HTTP وتدعم عمليات البحث عن أسماء النطاقات (DNS) . يتم دمج أحداث الشبكة مع حلقة الأحداث، مما يُسهل تطوير التطبيقات الشبكية.
- تحتوي وحدة QtOpenGL على فئات تُمكّن من استخدام OpenGL في عرض الرسومات ثلاثية الأبعاد في تطبيقات PyQt.
- تحتوي وحدة QtSql على فئات تتكامل مع قواعد بيانات SQL مفتوحة المصدر والخاصة. وتتضمن نماذج بيانات قابلة للتعديل لجداول قواعد البيانات التي يمكن استخدامها مع فئات واجهة المستخدم الرسومية. كما تتضمن تطبيقًا لـ SQLite .
- تحتوي وحدة QtSvg على فئات لعرض محتويات ملفات SVG. وهي تدعم الميزات الثابتة لـ SVG 1.2 Tiny.
- تقوم وحدة QtXml بتنفيذ واجهات SAX و DOM لمحلل XML الخاص بـ Qt.
- تُنفّذ وحدة QtMultimedia وظائف الوسائط المتعددة منخفضة المستوى. عادةً ما يستخدم مطورو التطبيقات وحدة phonon .
- تحتوي وحدة QtDesigner على فئات تسمح بتوسيع Qt Designer باستخدام PyQt.
- تُدمج وحدة Qt الفئات الموجودة في جميع الوحدات المذكورة أعلاه في وحدة واحدة. تكمن ميزة ذلك في عدم الحاجة إلى معرفة الوحدة الأساسية التي تحتوي على فئة معينة. أما عيبها، فهو تحميل إطار عمل Qt بالكامل، مما يزيد من استهلاك الذاكرة للتطبيق. يبقى اختيار استخدام هذه الوحدة المدمجة أو الوحدات المكونة لها بشكل منفصل مسألة تفضيل شخصي.
- تُوفّر وحدة uic دعمًا للتعامل مع ملفات XML التي يُنشئها Qt Designer والتي تصف واجهة المستخدم الرسومية كليًا أو جزئيًا. وهي تتضمن فئات تقوم بتحميل ملف XML وعرضه مباشرةً، وفئات أخرى تُولّد شيفرة بايثون من ملف XML لتنفيذها لاحقًا. [ 10 ]
يحتوي PyQt5 على وحدات بايثون التالية:
- QtQml
- كيو تي كويك
- كيو تي كور
- واجهة المستخدم الرسومية Qt
- دعم الطباعة Qt
- QtWidgets
- سياق QGL
- تنسيق QGL
- QGLWidget
- QtWebKit
- QtWebKitWidgets
الإصدارات
يعمل الإصدار 4 من PyQt مع كل من Qt 4 و Qt 5. يدعم الإصدار 5 من PyQt الإصدار 5 من Qt فقط، [ 4 ] ويتخلى عن دعم الميزات التي تم إيقافها في Qt 5. [ 11 ]
مثال "مرحباً بالعالم"

الكود أدناه المكتوب لـ PyQt6 يعرض نافذة صغيرة على الشاشة.
#!/usr/bin/env python3"""نقدم هنا الواردات اللازمة.توجد عناصر واجهة المستخدم الرسومية الأساسية في وحدة QtWidgets."""استيراد sysfrom PyQt6.QtWidgets import QApplication , QWidget# يجب على كل تطبيق PyQt إنشاء كائن تطبيق.# يوجد كائن التطبيق في وحدة QtWidgets.app = QApplication ([])# عنصر واجهة المستخدم QWidget هو الفئة الأساسية لجميع كائنات واجهة المستخدم في PyQt.# نوفر المُنشئ الافتراضي لـ QWidget. المُنشئ الافتراضي ليس له مُنشئ أب.# يُطلق على عنصر واجهة المستخدم الذي ليس له عنصر أب اسم نافذة.الجذر = QWidget ()root.resize ( 320 , 240 ) # تقوم الدالة resize ( ) بتغيير حجم الأداة.root.setWindowTitle ( " Hello , World!" ) # هنا نحدد عنوان نافذتنا.root . show () # تقوم الدالة show() بعرض عنصر واجهة المستخدم على الشاشة.sys.exit ( app.exec ( ) ) # وأخيرًا ، ندخل في الحلقة الرئيسية للتطبيق.تطبيقات بارزة تستخدم PyQt
- أنكي ، برنامج بطاقات تعليمية يعتمد على التكرار المتباعد
- كاليبر ، تطبيق لإدارة الكتب الإلكترونية
- دروب بوكس ، خدمة استضافة الملفات
- EarQuiz Frequencies ، تطبيق مجاني ومفتوح المصدر لتدريب الأذن على الترددات/المعادلة الصوتية
- محفظة إلكتروم للبيتكوين
- بيئة تطوير بايثون المتكاملة (IDE) من إريك
- فريسكو بالدي ، محرر نوتات موسيقية لملفات موسيقى ليلي بوند
- كودوس، مصحح أخطاء التعبيرات النمطية في بايثون
- ليو ، كاتب مخططات ومحرر برامج متمكن.
- OpenLP ، برنامج عرض كلمات الأغاني مفتوح المصدر
- أوبن شوت ، برنامج لتحرير الفيديو
- أورانج ، إطار عمل لاستخراج البيانات وتصورها
- Puddletag ، محرر علامات ID3 مفتوح المصدر ومتعدد المنصات
- QGIS ، وهو تطبيق مجاني لأنظمة المعلومات الجغرافية (GIS) لأجهزة الكمبيوتر المكتبية
- qutebrowser ، متصفح ويب مزود بربط مفاتيح على غرار Vim وواجهة مستخدم رسومية بسيطة.
- qt-recordMyDesktop ، واجهة أمامية Qt4 لتطبيق recordMyDesktop
- Spyder ، بيئة تطوير متكاملة لعلوم البيانات بلغة بايثون
- TortoiseHg ، واجهة رسومية لبرنامج إدارة مصادر الزئبق Mercurial (Hg)
- فيوز ، تطبيق للرسم البياني العلمي
- GNS3 ، برنامج محاكاة الشبكات
انظر أيضاً
مراجع
- ↑ https://riverbankcomputing.com/news/PyQt_v6.9.1_Released .
{{cite web}}: مفقود أو فارغ|title=( مساعدة ) - ↑ "تنزيل PyQt4" . Riverbankcomputing. 2010. تم الاطلاع عليه بتاريخ 19-04-2010 .
- ↑ "Riverbank | تجاري | الأسئلة الشائعة حول الترخيص" . Riverbankcomputing.com . تم الاطلاع عليه بتاريخ 24-06-2015 .
- 1 2 "ما هو PyQt؟" . ريفر بانك كومبيوتينج . تم الاسترجاع في 18-09-2014 .
- ↑ "PyQt v4 - روابط بايثون لـ Qt v4" . Riverbankcomputing. مؤرشف من الأصل بتاريخ 29-04-2008 . تم الاطلاع عليه بتاريخ 17-04-2010 .
- ↑ "مرجع فئة QSqlDatabase" . Pyqt.sourceforge.net . تم الاطلاع عليه بتاريخ 25-09-2014 .
- ↑ ويكي بايثون إنفو
- ↑ جارمول، كاثرين؛ لوسون، ريتشارد (30-05-2017). استخراج البيانات من مواقع الويب باستخدام بايثون . دار نشر باكت المحدودة. ص 105. ISBN 978-1-78646-429-3.
- ↑ الأسئلة الشائعة، مارتن فيتزباتريك. آخر تحديث (21 يونيو 2019). "PyQt5 مقابل PySide2: ما الفرق بين مكتبتي بايثون Qt؟" . واجهات المستخدم الرسومية لبايثون . تم الاطلاع عليه بتاريخ 25 يونيو 2022 .
{{cite web}}له|first=اسم عام ( مساعدة ) - ↑ "ريفر بانك | البرمجيات | باي كيو تي | ما هو باي كيو تي؟" . Riverbankcomputing.co.uk . تاريخ الاسترجاع: 15 أبريل 2010 .
- ↑ "الاختلافات بين PyQt4 و PyQt5" ، دليل مرجعي لـ PyQt 5.3.2 ، مؤرشف من الأصل بتاريخ 14 أغسطس 2018 ، تم الاطلاع عليه بتاريخ 18 سبتمبر 2014
للمزيد من القراءة
- ويلمان، جوشوا (2020)، مقدمة في PyQt - مدخل عملي لبرمجة واجهات المستخدم الرسومية (الطبعة الأولى )، Apress ، ص 440، ISBN 978-1-4842-5856-9
- سمرفيلد، مارك (28 أكتوبر 2007)، برمجة واجهات المستخدم الرسومية السريعة باستخدام بايثون وQt (يغطي PyQt4) ( الطبعة الأولى )، برنتيس هول ، ص 648، ISBN 978-0-13-235418-9
- ريمبت، بودوين (2002)، برمجة واجهات المستخدم الرسومية باستخدام بايثون: إصدار QT (يغطي PyQt3) ، OpenDocs، مؤرشف من الأصل في 2010-04-09
روابط خارجية
- برامج مجانية متعددة المنصات
- مكتبات حاسوب مجانية
- برنامج مجاني مكتوب بلغة C++
- برنامج مجاني مكتوب بلغة بايثون
- مكتبات لغة البرمجة بايثون
- كيو تي (برنامج)
- مجموعات أدوات الأدوات المصغّرة
- برنامج يستخدم رخصة جنو العمومية العامة
