WxPython

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
WxPython
Логотип программы WxPython
Разработчик Робин Данн
Гарри Пасанен
Разработчики Робин Данн
Гарри Пасанен
Последняя версия 4.1.1 (21 ноября 2020)
Состояние Активное
Лицензия wxWidgets License (совместима с GPL[1])
Сайт wxpython.org

WxPython — обёртка библиотеки кроссплатформенного графического интерфейса пользователя для Python, основой которого является кроссплатформенная API (интерфейс программирования приложений) wxWidgets, написанная на языке программирования C++. Одна из альтернатив Tkinter, которая поставляется вместе с Python. Реализована в виде модуля расширения Python (машинный код). Другие популярные альтернативы — PyGTK и PyQt. Так же, как и WxWidgets, WxPython является свободным программным обеспечением.

Лицензия

Как обёртка библиотеки, 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[2]

См. также

Примечания

  1. http://www.wxwidgets.org/about/newlicen.htm Архивная копия от 2 июля 2010 на Wayback Machine  (англ.) — Разъяснение лицензии
  2. Открытые исходные компоненты и лицензии (англ.). 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.

Ссылки