Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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.

Кнопка закрытия с 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 , инструмент для создания экспериментов в области нейробиологии и психологии.

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

Цитаты [ править ]

  1. ^ a b «Объявление wxPython 0.3 в группах Yahoo» . Проверено 16 января 2007 .
  2. ^ "Журнал изменений wxPython" . wxPython . 2020-11-21 . Проверено 18 февраля 20 .
  3. ^ «Уведомление об авторских правах» . Проверено 27 февраля 2009 .
  4. ^ «Цели проекта Феникс» . Проверено 17 марта 2016 .
  5. ^ "Файл readme проекта Phoenix на GitHub" . Проверено 1 января 2014 .
  6. ^ «Компоненты и лицензии с открытым исходным кодом» . 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.

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Главная страница Project Phoenix
  • Список приложений, разработанных с помощью wxPython
  • Учебные скринкасты для начала программирования на wxPython на showmedo