Разработчики) | Робин Данн Харри Пасанен |
---|---|
изначальный выпуск | 1998 [1] |
Стабильный выпуск | 4.1.1 [2] / 21 ноября 2020 г . |
Репозиторий | |
Написано в | C ++ / Python |
Операционная система | Кроссплатформенность |
Лицензия | Лицензия wxWindows |
Интернет сайт | WxPython |
wxPython - это оболочка для кроссплатформенного GUI API (часто называемого « набором инструментов ») wxWidgets (написанного на C ++ ) для языка программирования Python . Это одна из альтернатив Tkinter . Он реализован как модуль расширения Python ( собственный код ).
Лицензия [ править ]
Будучи оболочкой, wxPython использует ту же лицензию бесплатного программного обеспечения, что и wxWidgets ( лицензия wxWindows ) [3], которая одобрена Free Software Foundation и Open Source Initiative .
История [ править ]
wxPython был создан, когда Робину Данну потребовалось развернуть графический интерфейс в системах HP-UX , а также в Windows 3.1 в течение нескольких недель. При оценке коммерческих решений он наткнулся на привязки Python к набору инструментов wxWidgets. Таким образом, он изучил Python и за короткое время вместе с Харри Пасаненом стал одним из основных разработчиков wxPython, выросшего из этих начальных привязок.
Первые версии обертки создавались вручную. Однако вскоре кодовую базу стало очень трудно поддерживать и синхронизировать с выпусками wxWidgets. Более поздние версии были созданы с помощью SWIG , что значительно уменьшило объем работы по обновлению оболочки. Первая «современная» версия была анонсирована в 1998 году. [1]
Пример [ править ]
Это простой модуль " Hello world ", изображающий создание двух основных объектов в wxPython (объект главного окна и объект приложения) с последующей передачей управления управляемой событиями системе (путем вызова MainLoop()
), которая управляет пользователем. -интерактивная часть программы.
#! / usr / bin / env python3импорт wxприложение = wx . App ( False ) # Создайте новое приложение, не перенаправляйте stdout / stderr в окно. кадр = wx . Frame ( None , title = "Hello World" ) # Frame - это окно верхнего уровня. рамка . Show ( True ) # Показать рамку. приложение . MainLoop ()
Это еще один пример кнопки закрытия wxPython с отображением графического интерфейса пользователя wxPython в операционной системе Windows 10.
импорт wxкласс WxButton ( wx . Frame ): def __init__ ( self , * args , ** kw ): super ( WxButton , self ) . __init__ ( * args , ** kw ) self . InitUI () def InitUI ( сам ): pnl = wx . Панель ( самостоятельно ) closeButton = wx . Кнопка ( pnl , label = 'Close Me' , pos = ( 20 , 20 )) closeButton . Bind ( wx . EVT_BUTTON , self . OnClose ) я . SetSize (( 350 , 250 )) самостоятельно . SetTitle ( 'Кнопка закрытия ' ) self . Центр () def OnClose ( self , e ): self . Близко ( Верно )def main (): приложение = wx . App () ex = WxButton ( None ) ex . Показать () приложение . MainLoop ()если __name__ == "__main__" : main ()
Проект Феникс [ править ]
Проект Phoenix, начатый в 2010 году, представляет собой попытку очистить реализацию wxPython и в процессе сделать ее совместимой с Python 3. [4] Этот проект представляет собой новую реализацию wxPython, направленную на повышение скорости, ремонтопригодности и расширяемости. Как и «классический» wxPython, он включает в себя инструментарий wxWidgets C ++ и обеспечивает доступ к частям пользовательского интерфейса wx API, позволяя приложениям Python иметь графический пользовательский интерфейс в системах Windows, Mac или Unix с естественным внешним видом и требовать очень мало, если вообще есть, кода для конкретной платформы. [5]
Приложения, разработанные с помощью wxPython [ править ]
- BitTorrent , одноранговое приложение BitTorrent
- Чендлер , персональный информационный менеджер
- Editra , многоплатформенный текстовый редактор
- Google Диск , настольный клиент для облачной системы хранения Google [6]
- GRASS GIS , бесплатная географическая информационная система с открытым исходным кодом
- Métamorphose , пакетный переименователь
- Phatch , пакетный процессор фотографий
- PlayOnLinux и PlayOnMac , вино передние концы
- PsychoPy , инструмент для создания экспериментов в области нейробиологии и психологии.
Ссылки [ править ]
Цитаты [ править ]
- ^ a b «Объявление wxPython 0.3 в группах Yahoo» . Проверено 16 января 2007 .
- ^ "Журнал изменений wxPython" . wxPython . 2020-11-21 . Проверено 18 февраля 20 .
- ^ «Уведомление об авторских правах» . Проверено 27 февраля 2009 .
- ^ «Цели проекта Феникс» . Проверено 17 марта 2016 .
- ^ "Файл readme проекта Phoenix на GitHub" . Проверено 1 января 2014 .
- ^ «Компоненты и лицензии с открытым исходным кодом» . Google . Проверено 28 января 2013 года .
Источники [ править ]
- Раппин, Ноэль; Данн, Робин (1 марта 2006 г.). wxPython в действии . Гринвич: Публикации Мэннинга . п. 552. ISBN. 978-1-932394-62-7.
Дальнейшее чтение [ править ]
- Прекорд, Коди (декабрь 2010 г.). wxPython 2.8 Руководство по разработке приложений . Гринвич: Packt Publishing . п. 308. ISBN 978-1-84951-178-0.
Внешние ссылки [ править ]
Викискладе есть медиафайлы по теме WxPython . |
- Официальный веб-сайт
- Главная страница Project Phoenix
- Список приложений, разработанных с помощью wxPython
- Учебные скринкасты для начала программирования на wxPython на showmedo