WxPython — кросплатформенная обёртка библиотек графического интерфейса пользователя для Python, основанная на wxWidgets, написанная на языке программирования C++. Одна из альтернатив Tkinter, которая поставляется вместе с Python. Реализована в виде модуля расширения Python (машинный код). Другие популярные альтернативы — PyGTK и PyQt. Так же, как и WxWidgets, WxPython является свободным программным обеспечением.
WxPython | |
---|---|
![]() | |
![]() | |
Тип | связывание Си и Python[вд], библиотека виджетов[вд] и Python-библиотека[вд] |
Разработчики |
Робин Данн Гарри Пасанен |
Написана на | C++ и Python[2] |
Операционная система | Unix-подобная операционная система |
Последняя версия | 4.2.0 (7 августа 2022) |
Репозиторий | github.com/wxWidgets/Pho… |
Состояние | Активное |
Лицензия | wxWidgets License (совместима с GPL[1]) |
Сайт | wxpython.org |
![]() |
Лицензия
правитьКак обёртка библиотеки, WxPython использует те же бесплатные лицензии на программное обеспечение, что и WxWidgets (WxWindows лицензии), которые утверждаются Фондом свободного программного обеспечения и Open Source Initiative.
История
правитьПроект WxPython зародился, когда Робину Данну потребовался в ближайшие несколько недель графический интерфейс пользователя, развёрнутый на HP-UX системах, а также на Windows 3.1. При оценке коммерческих решений он наткнулся на Python, входящий в набор инструментальных средств WxWidgets. Таким образом он узнал Python и в скором времени, вместе с Харри Пасаненом, стал одним из основных разработчиков WxPython, которая произросла из этой начальной связки. Первые версии обёртки библиотеки создавались вручную. Однако вскоре ядро программы стало очень трудно поддерживать и синхронизировать с релизами WxWidgets. Более поздние версии были созданы с SWIG, значительно уменьшая объём работ на обновление обёртки. О выходе первой «современной» версии было объявлено в 1998 году.
Примеры
правитьНиже приведён модуль «Hello, world!», показывающий создание двух главных объектов в WxPython (основного объекта окна и объекта приложения), а затем передачи управления обработчику событий (вызовом функции MainLoop ()
), который отвечает за интерактивную часть пользователя программы.
#!/usr/bin/env python
import wx
class TestFrame(wx.Frame):
def __init__(self, parent, title):
wx.Frame.__init__(self, parent, id=-1, title=title)
text = wx.StaticText(self, label=title)
app = wx.App()
frame = TestFrame(None, "Hello, world!")
frame.Show()
app.MainLoop()
Приложения, разработанные с использованием WxPython
править- BitTorrent — первый клиент для протокола BitTorrent
- Chandler — персональный информационный менеджер
- Dropbox — облачное хранилище данных
- Phatch — пакетный обработчик изображений
- Métamorphose — пакетный переименователь
- PlayOnLinux и PlayOnMac — надстройки над Wine
- GRASS (ГИС) — бесплатная система для обработки географической информации с открытым исходным кодом
- Диск Google — настольный клиент для системы облачного хранения данных Google[3]
См. также
правитьПримечания
править- ↑ http://www.wxwidgets.org/about/newlicen.htm Архивная копия от 2 июля 2010 на Wayback Machine (англ.) — Разъяснение лицензии
- ↑ The wxpython Open Source Project on Open Hub: Languages Page — 2006.
- ↑ Открытые исходные компоненты и лицензии (англ.). Google. Дата обращения: 28 января 2013. Архивировано 25 мая 2013 года.
Литература
правитьNoel, Rappin; Dunn, Robin. wxPython в действии = wxPython in Action. — Greenwich: Manning Publications, 2006. — P. 552. — ISBN 978-1-932394-62-7.
Ссылки
править- wxpython.org — официальный сайт WxPython
- Список приложений, разработанных с использованием WxPython
- Учебные видеоролики для начала WxPython программирования на showmedo