Перейти к содержанию

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.

Ссылки[править]