WxPython
| wxPython | ||
|---|---|---|
![]() | ||
| Главная Информация | ||
| тип программы | графический пользовательский интерфейс | |
| Лицензия | LGPL | |
| Техническая информация | ||
| Запланировано в | Си и Питон | |
| Версии | ||
| Последняя стабильная версия | 4.0.7 ( 25 октября 2019 г. ) | |
| Ссылки | ||
wxPython — это обвязка графической библиотеки wxWidgets для языка программирования Python . Библиотека wxWidgets характеризуется кроссплатформенностью , поэтому ее использование вместе с Python позволяет быстро разрабатывать кроссплатформенные графические приложения.
Лицензия
Будучи обязательным, wxPython использует ту же лицензию свободного программного обеспечения, что и wxWidgets (LGPL), которая является лицензией, одобренной Free Software Foundation и Open Source Initiative .
История
wxPython родился, когда Робину Данну понадобился графический интерфейс , который заработал бы в системах HP-UX, а также в Windows 3.1 в течение нескольких недель. Оценивая коммерческие решения, он наткнулся на некоторые привязки Python к инструментарию wxWidgets. Из-за этого он за короткое время изучил Python и стал одним из основных разработчиков wxPython (который возник из этих первоначальных привязок) вместе с Харри Пасаненом. Первые версии обертки создавались вручную. Однако вскоре кодовую базу стало очень трудно синхронизировать с выпусками wxWidgets. Но более поздние версии были созданы с помощью SWIG, что значительно уменьшило объем работы, необходимой для обновления оболочки. Первая «современная» версия была анонсирована в 1998 году.
По состоянию на 2011 год код wxPython был почти полностью переписан в так называемом проекте Phoenix. [ 1 ] Основная цель этого проекта заключалась в том, чтобы максимально автоматизировать разработку привязок Python для wxWidgets , тем самым сократив объем работы, необходимой для поддержки wxPython. [ 2 ] Кроме того, новая версия будет совместима с версией 3 Python .
Проект Феникс
Проект Phoenix, начатый в 2012 году, представляет собой попытку сделать wxPython совместимым с Python 3 [ 3 ] . Этот проект представляет собой новую реализацию wxPython, направленную на повышение скорости, удобства обслуживания и расширяемости. Как и «классический» wxPython, он является оболочкой библиотеки wxWidgets и предоставляет доступ к ее частям, ориентированным на создание пользовательских интерфейсов, предоставляя wx API. Это позволяет приложениям Python иметь пользовательские интерфейсы в системах Windows, Mac и Unix с собственным внешним видом, требуя очень небольшого кода для конкретной платформы. [ 4 ]
Пример
Это простой модуль « Hello world », который иллюстрирует создание двух основных объектов в wxPython (окно и приложение) и делегирование управления системе, управляемой событиями (вызов
MainLoop()), которая обеспечивает интерактивную часть программы.
#!/usr/bin/env Python
импорт wx
class TestFrame ( wx . Frame ):
def __init__ ( self , parent , ID , title ):
wx . Рамка . __init__ ( я , родитель , wx.ID_ANY , title , pos = ( 0 , 0 ) , size = ( 320 , 240 ) ) panel = wx . Панель ( я , wx.ID_ANY ) text = wx._ _ _ _ StaticText ( панель , wx .ID_ANY , "Hello, World! " , wx .Point ( 10 , 5 ) , wx .Size ( - 1 , - 1 ) )
class TestApp ( wx .App ): def OnInit ( self ): frame = TestFrame ( None , wx .ID_ANY , " Hello, world! " ) self . SetTopWindow ( кадр ) кадр . Показать ( True ) вернуть True
если __name__ == '__main__' :
app = TestApp ()
app . Основной цикл ()
Ссылки
- ↑ http://wiki.wxpython.org/ProjectPhoenix О проекте Phoenix
- ↑ http://wiki.wxpython.org/ProjectPhoenix/ProjectGoals Цели проекта Phoenix
- ^ «Объявление Project Phoenix в группах Google» . Проверено 1 января 2014 г.
- ↑ «Файл readme Project Phoenix на GitHub» (неопр .) . Проверено 1 января 2014 г.
