وكس بايثون

وكس بايثون هو مغلف متعدد المنصات (عادة مايسمى صندوق عدة)لواجهة مستخدم رسومية وكس ودجيت (مكتوبة بلغة C++) للغة البايثون.[3][4][5] وهو واحد من بدائل الـتك انتر الذي يأتي مع رزمة البايثون. يتم تنفيذة كوحدة تنفيذ للبايثون (شفرة بدائية). ومن البدائل الأخرى الشهيرة باي جتك وباي كت. مثل الوكس ودجيت الوكس بايثون يدرج تحت برمجيات حرة.

الترخيص

[عدل]

كونه وحدة تغليف، يستخدم نفس رخصة البرمجيات الحرة المستخدمة من وكس ودجيت التي وافقت عليها مؤسسة البرمجيات الحرة ومبادرة المصادر المفتوحة.

التاريخ

[عدل]

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

مثال

[عدل]

هذا برنامج "Hello world" بسيط. يبين إنشاء عنصرين في ال (عنصر النافذة الرئيسة وعنصر التطبيق). يليه إعطاء التحكم للنظام المدار من الحدث (الاتصال بالMainLoop()) والذي يتحكم بجزئية واجهة المستخدم من البرنامج.

#!/usr/bin/env python

import wx

app = wx.App(False) # Create a new app, don't redirect stdout/stderr to a window.
frame = wx.Frame(None, wx.ID_ANY, "Hello World") # A Frame is a top-level window.
frame.Show(True) # Show the frame.
app.MainLoop()

مراجع

[عدل]
  1. ^ "The wxpython Open Source Project on Open Hub: Languages Page". أهلوه. اطلع عليه بتاريخ 2018-07-14.
  2. ^ ا ب "Release 4.2.1". 8 يونيو 2023. اطلع عليه بتاريخ 2023-06-30.
  3. ^ "Open source components and licenses". Google. مؤرشف من الأصل في 2013-05-25. اطلع عليه بتاريخ 2013-01-28.
  4. ^ "Goals of Project Phoenix". مؤرشف من الأصل في 2016-06-19. اطلع عليه بتاريخ 2016-03-17.
  5. ^ "Project Phoenix readme file on GitHub". مؤرشف من الأصل في 2019-09-25. اطلع عليه بتاريخ 2014-01-01.

وصلات خارجية

[عدل]