WxPython
wxPython یک بستهبندی برای API کراس پلت فرم GUI (که اغلب به آن «جعبه ابزار» گفته میشود). wxWidgets (که با زبان ++C نوشته میشود) برای زبان برنامهنویسی پایتون است. این یکی از گزینههای جایگزین تکینتر است و به عنوان یک ماژول پسوند Python (کد ماشین) اجرا میشود.
توسعهدهنده(ها) | Robin Dunn Harri Pasanen |
---|---|
انتشار ابتدایی | ۱۹۹۸ |
انتشار پایدار | 4.1.1
۲۱ نوامبر ۲۰۲۰ |
مخزن | |
نوشتهشده با | پایتون / c++ |
سیستمعامل | چندسکویی |
پروانه | wxWindows License |
وبگاه |
مجوز
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 در سیستم عامل ویندوز ۱۰ است.
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، ابزار ایجاد آزمایش جهت تحقیقات علوم اعصاب و روانشناسی
پیوند به بیرون
- وبگاه رسمی
- پروژه ققنوس
- لیست برنامههای توسعه یافته با wxPython
- فیلمهای آموزشی برای شروع برنامهنویسی wxPython بایگانیشده در ۲۳ اوت ۲۰۰۶ توسط Wayback Machine در showmedo
منابع
- ↑ "wxPython 0.3 announcement on Yahoo Groups". Archived from the original on 23 November 2001. Retrieved 2007-01-16.
- ↑ "wxPython Changelog". wxPython (به انگلیسی). 2020-11-21. Retrieved 2021-02-18.
- ↑ "Copyright notice". Archived from the original on 16 February 2009. Retrieved 2009-02-27.
- ↑ "Open source components and licenses". Google. Retrieved 28 January 2013.