وكس بايثون

من ويكيبيديا، الموسوعة الحرة
اذهب إلى: تصفح، ‏ ابحث
WxPython-logo.png

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

الترخيص[عدل]

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

التاريخ[عدل]

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

مثال[عدل]

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

#!/usr/bin/env python
 
import wx
 
class TestFrame(wx.Frame):
    def __init__(self, parent, ID, title):
        wx.Frame.__init__(self, parent, -1, title, pos=(0, 0), size=(320, 240))
        panel = wx.Panel(self, -1)
        text = wx.StaticText(panel, -1, "Hello, World!", wx.Point(10, 5), wx.Size(-1, -1))
 
class TestApp(wx.App):
    def OnInit(self):
        frame = TestFrame(None, -1, "Hello, world!")
        self.SetTopWindow(frame)
        frame.Show(True)
        return True
 
if __name__ == '__main__':
    app = TestApp()
    app.MainLoop()

شاهد أيضا[عدل]

وصلات خارجية[عدل]

Computer.svg هذه بذرة مقالة عن الحاسوب أو العاملين في هذا المجال تحتاج للنمو والتحسين. ساهم في إثرائها بالمشاركة في تحريرها.