WxPython

توسعه‌دهنده(ها)Robin Dunn
Harri Pasanen
انتشار اولیه۱۹۹۸؛ ۲۶ سال پیش (۱۹۹۸-خطا: زمان نامعتبر}})[۱]
انتشار پایدار
4.1.1[۲] / ۲۱ نوامبر ۲۰۲۰؛ ۳ سال پیش (۲۰۲۰-21}})
مخزن
نوشته‌شده باپایتون / c++
سیستم‌عاملچندسکویی
مجوزwxWindows License
وبگاه

wxPython یک بسته‌بندی برای API کراس پلت فرم GUI (که اغلب به آن «جعبه ابزار» گفته می‌شود). wxWidgets (که با زبان ++C نوشته می‌شود) برای زبان برنامه‌نویسی پایتون است. این یکی از گزینه‌های جایگزین تکینتر است و به عنوان یک ماژول پسوند Python (کد ماشین) اجرا می‌شود.

مجوز

[ویرایش]

wxPython به عنوان یک بسته‌بندی، از مجوز نرم‌افزار آزاد استفاده شده توسط wxWidgets (مجوز wxWindows)[۳] - و مورد تأیید بنیاد نرم‌افزار آزاد و ابتکار منبع باز است.

تاریخچه

[ویرایش]

wxPython زمانی که رابین دان (به انگلیسی: Robin Dunn) به GUI نیاز داشت که در سیستم‌های HP-UX و همچنین در ویندوز ۳٫۱ اجرا شود ساخته شد. او در حالی که به راه‌حل‌های تجاری فکر می‌کرد، با اتصالات پایتون برای جعبه ابزار wxWidget روبه‌رو شد؛ بنابراین، او پایتون را آموخت و در مدت زمان کوتاهی با هری پسانن (به انگلیسی: Harri Pasanen) به یکی از توسعه دهندگان اصلی wxPython تبدیل شد که از همان اتصالات اولیه رشد می‌کرد.

اولین نسخه‌های بسته‌بندی با دست ایجاد شده‌اند. با این حال، پس از مدت کوتاهی نگهداری و همگام سازی کدهای پایه با نسخه‌های wxWidgets بسیار سخت شد. نسخه‌های بعدی با SWIG ایجاد شدند، که مقدار کار برای به روزرسانی بسته‌بندی را بسیار کاهش می‌دادند. اولین نسخه «مدرن» در سال ۱۹۹۸ منتشر شد.

نمونه

[ویرایش]

این یک کد ساده "Hello world" است که ایجاد دو شی اصلی در wxPython (شی پنجره اصلی و شی صفحه برنامه) را به تصویر می‌کشد و پس از آن کنترل را به سیستم رویداد محور منتقل می‌کند (با فراخوانی MainLoop()) که قسمت تعاملی کاربر با برنامه را مدیریت می‌کند.

#!/usr/bin/env python3

import wx

app = wx.App(False)  # برنامه جدیدی ایجاد کنید
frame = wx.Frame(None, title="Hello World") # صفحه یک پنجره سطح بالا است
frame.Show(True)     # صفحه را نشان دهید
app.MainLoop()

این نمونه دیگری از دکمه خروج در wxPython با نمایش صفحه نمایش wxPython GUI در سیستم عامل ویندوز ۱۰ است.

دکمه خروج با wxPython که در ویندوز ۱۰ نشان داده شده‌است
import wx

class WxButton(wx.Frame):

    def __init__(self, *args, **kw):
        super(WxButton, self).__init__(*args, **kw)
        self.InitUI()

    def InitUI(self):
        pnl = wx.Panel(self)
        closeButton = wx.Button(pnl, label='Close Me', pos=(20, 20))

        closeButton.Bind(wx.EVT_BUTTON, self.OnClose)

        self.SetSize((350, 250))
        self.SetTitle('Close Button')
        self.Centre()

    def OnClose(self, e):
        self.Close(True)

def main():
    app = wx.App()
    ex = WxButton(None)
    ex.Show()
    app.MainLoop()

if __name__ == __main__":
    main()

برنامه‌های توسعه یافته با wxPython

[ویرایش]
  • چندلر، یک مدیر اطلاعات شخصی
  • ادیترا، ویرایشگر متن چند سکویی
  • گوگل درایو، سمت دسکتاپ برای ذخیره‌سازی مبتنی بر ابر گوگل[۴]
  • GRASS GIS، یک سیستم اطلاعات جغرافیایی منبع باز و رایگان
  • Métamorphose، تغییر نام دسته ای
  • Phatch، پردازنده دسته عکس
  • PsychoPy، ابزار ایجاد آزمایش جهت تحقیقات علوم اعصاب و روانشناسی

پیوند به بیرون

[ویرایش]

منابع

[ویرایش]
  1. "wxPython 0.3 announcement on Yahoo Groups". Archived from the original on 23 November 2001. Retrieved 2007-01-16.
  2. "wxPython Changelog". wxPython (به انگلیسی). 2020-11-21. Retrieved 2021-02-18.
  3. "Copyright notice". Archived from the original on 16 February 2009. Retrieved 2009-02-27.
  4. "Open source components and licenses". Google. Retrieved 28 January 2013.