باي سايد

PySide هو واجهة برمجة تطبيقات بايثون لمجموعة أدوات واجهة المستخدم الرسومية متعددة المنصات Qt ، التي طورتها شركة Qt كجزء من مشروع Qt لبايثون . وهو أحد البدائل لحزمة المكتبة القياسية Tkinter . ومثل Qt، فإن PySide برنامج مجاني . يدعم PySide أنظمة Linux / X11 و macOS و Microsoft Windows . كما يمكن تجميع المشروع بشكل متقاطع لأنظمة مضمنة مثل Raspberry Pi، [ 3 ] [ 4 ] وأجهزة Android. [ 5 ]

تاريخ

بحلول عام ٢٠٠٩، أرادت نوكيا ، المالكة آنذاك لمجموعة أدوات Qt، توفير ربط بايثون بموجب ترخيص LGPL . إلا أن نوكيا لم تتوصل إلى اتفاق مع شركة Riverbank Computing، مطوري ربط بايثون PyQt . [ ٦ ] وفي أغسطس، أصدرت نوكيا PySide، الذي قدم وظائف مماثلة، ولكن بموجب ترخيص LGPL. [ ٧ ] [ ٨ ] وكلمة "Side" تعني الربط باللغة الفنلندية. [ ٦ ]

صدرت ثلاثة إصدارات رئيسية من PySide: [ 9 ]

  • يدعم PySide الإصدار الرابع من Qt
  • يدعم PySide2 مكتبة Qt 5
  • يدعم PySide6 مكتبة Qt 6

أُصدرت النسخة الأولى من PySide في أغسطس 2009 بموجب ترخيص LGPL من قِبل شركة نوكيا ، [ 1 ] التي كانت آنذاك مالكة مجموعة أدوات Qt، وذلك بعد فشلها في التوصل إلى اتفاق مع مطوري PyQt، شركة Riverbank Computing [ 10 لتغيير شروط الترخيص لتشمل LGPL كترخيص بديل. وقد دعمت هذه النسخة Qt 4 على أنظمة التشغيل Linux/X11 وMac OS X وMicrosoft Windows و Maemo و MeeGo ، [ 11 ] بينما أضاف مجتمع PySide دعمًا لنظام Android . [ 12 ]

بدأ كريستيان تيسمر مشروع PySide2 لنقل PySide من Qt 4 إلى Qt 5 في عام 2015. [ 13 ] ثم تم دمج المشروع في مشروع Qt. [ 14 ] وتم إصداره في ديسمبر 2018. [ 13 ]

تم إصدار PySide6 في ديسمبر 2020. وقد أضاف دعمًا لـ Qt 6 وأزال الدعم لجميع إصدارات Python الأقدم من 3.6. [ 9 ]

بدأ المشروع باستخدام مكتبة Boost.Python من مكتبات Boost C++ للربط. ثم أنشأ لاحقًا مولد ربط خاص به يُسمى Shiboken، [ 15 ] لتقليل حجم الملفات التنفيذية واستهلاك الذاكرة . [ 16 ]

مثال: "مرحباً بالعالم!"

استورد sys من PySide6 استورد QtCore و QtWidgets# إنشاء تطبيق Qt app = QtWidgets.QApplication ( sys.argv )# إنشاء النافذة الرئيسية main_window = QtWidgets.QWidget ( ) main_window.resize ( 320 , 240 ) main_window.setWindowTitle ( '"Hello, world ! " example ' )# إنشاء تسمية للنص في النافذة الرئيسية label = QtWidgets.QLabel ( main_window ) label.setText ( " Hello , world ! " ) label.setGeometry ( QtCore.QRect ( 100 , 100 , 100 , 100 ) )# عرض النافذة الرئيسية main_window.show ( )# ادخل إلى الحلقة الرئيسية واخرج عند الانتهاء sys.exit ( app.exec ( ) )

انظر أيضاً

مراجع

  1. ١ ٢ "تم إصدار PySide" . PySide – بايثون لـ Qt . ١٨ أغسطس ٢٠٠٩. مؤرشف من الأصل في ٢٥ أكتوبر ٢٠٠٩.
  2. "سجل إصدارات PySide6" . فهرس حزم بايثون .
  3. "الترجمة المتقاطعة لـ Qt لـ Python" . Qt . شركة Qt. 13 أبريل 2022.
  4. "تفاصيل حول إصدار Qt الجديد 6.3 لـ Python" . Qt . شركة Qt. 13 أبريل 2022.
  5. "نقل Qt من بايثون إلى أندرويد" . Qt . شركة Qt. 13 أبريل 2022.
  6. ١ ٢ الأسئلة الشائعة، مارتن فيتزباتريك. آخر تحديث (٢١ يونيو ٢٠١٩). "PyQt5 مقابل PySide2: ما الفرق بين مكتبتي بايثون Qt؟" . واجهات المستخدم الرسومية لبايثون . تم الاطلاع عليه بتاريخ ٢٥ يونيو ٢٠٢٢ .{{cite web}}له |first=اسم عام ( مساعدة )
  7. "الأسئلة الشائعة - PySide - بايثون لـ Qt" . Pyside.org. مؤرشف من الأصل بتاريخ 11 يناير 2012. تم الاطلاع عليه بتاريخ 3 سبتمبر 2009 .  
  8. «تم إصدار PySide - PySide - بايثون لـ Qt» . Pyside.org. ١٨ أغسطس ٢٠٠٩. مؤرشف من الأصل في ٢٥ أكتوبر ٢٠٠٩. تم الاطلاع عليه في ٣ سبتمبر ٢٠٠٩ .  
  9. 1 2 موريرا فريديس، كريستيان (10 ديسمبر 2020). "تم إصدار Qt لـ Python 6" . كيو تي . شركة كيو تي.
  10. "أسئلة وأجوبة حول PySide" . ويكي Qt . 31 يوليو 2017. مؤرشف من الأصل في 6 أغسطس 2020. تم الاطلاع عليه في 24 فبراير 2021 .
  11. "تنزيلات PySide" . ويكي Qt . 16 فبراير 2018. تم الاطلاع عليه في 24 فبراير 2021 .
  12. "دليل PySide لنظام Android" . ويكي Qt . 26 فبراير 2018. تم الاطلاع عليه في 24 فبراير 2021 .
  13. 1 2 "Qt for Python" . Qt Wiki . 16 ديسمبر 2020. تم الاطلاع عليه في 24 فبراير 2021 .
  14. كنول، لارس؛ تيسمر، كريستيان (11 أبريل 2016). "إعادة pyside إلى مشروع Qt" . مجموعة pyside-dev على جوجل . تم الاطلاع عليه في 24 فبراير 2021 .
  15. "Shiboken" . وثائق Qt . شركة Qt . تم الاطلاع عليه بتاريخ 24 فبراير 2021 .
  16. "أسئلة وأجوبة حول PySide Shiboken" . ويكي Qt . 5 يونيو 2016. تم الاطلاع عليه في 24 فبراير 2021 .