wxPython - wxPython
| Разработчики) | Робин Данн Харри Пасанен |
|---|---|
| Первый выпуск | 1998 |
| Стабильный выпуск | 4.1.1 / 21 ноября 2020 г .
|
| Репозиторий | |
| Написано в | C ++ / Python |
| Операционная система | Кроссплатформенность |
| Лицензия | Лицензия wxWindows |
| Веб-сайт | WxPython |
wxPython - это оболочка для кроссплатформенного GUI API (часто называемого « набором инструментов ») wxWidgets (написанного на C ++ ) для языка программирования Python . Это одна из альтернатив Tkinter . Он реализован как модуль расширения Python ( собственный код ).
Лицензия
Будучи оболочкой, wxPython использует ту же лицензию бесплатного программного обеспечения, что и wxWidgets ( лицензия wxWindows ), которая одобрена Free Software Foundation и Open Source Initiative .
История
wxPython был создан, когда Робину Данну потребовалось развернуть графический интерфейс в системах HP-UX , а также в Windows 3.1 в течение нескольких недель. При оценке коммерческих решений он наткнулся на привязки Python к набору инструментов wxWidgets. Таким образом, он изучил Python и за короткое время вместе с Харри Пасаненом стал одним из основных разработчиков wxPython, выросшего из этих начальных привязок.
Первые версии обертки создавались вручную. Однако вскоре кодовую базу стало очень трудно поддерживать и синхронизировать с выпусками wxWidgets. Более поздние версии были созданы с помощью SWIG , что значительно уменьшило объем работы по обновлению оболочки. Первая «современная» версия была анонсирована в 1998 году.
Пример
Это простой модуль « Hello world », изображающий создание двух основных объектов в wxPython (объект главного окна и объект приложения) с последующей передачей управления управляемой событиями системе (путем вызова MainLoop()), которая управляет пользователем. -интерактивная часть программы.
#!/usr/bin/env python3
import wx
app = wx.App(False) # Create a new app, don't redirect stdout/stderr to a window.
frame = wx.Frame(None, title="Hello World") # A Frame is a top-level window.
frame.Show(True) # Show the frame.
app.MainLoop()
Это еще один пример кнопки закрытия wxPython с отображением графического интерфейса пользователя wxPython в операционной системе Windows 10.
import wx
class WxButton(wx.Frame):
def __init__(self, *args, **kw):
super(WxButton, self).__init__(*args, **kw)
self.InitUI()
def InitUI(self):
pnl = wx.Panel(self)
closeButton = wx.Button(pnl, label='Close Me', pos=(20, 20))
closeButton.Bind(wx.EVT_BUTTON, self.OnClose)
self.SetSize((350, 250))
self.SetTitle('Close Button')
self.Centre()
def OnClose(self, e):
self.Close(True)
def main():
app = wx.App()
ex = WxButton(None)
ex.Show()
app.MainLoop()
if __name__ == "__main__":
main()
Проект Феникс
Проект Phoenix, начатый в 2010 году, представляет собой попытку очистить реализацию wxPython и в процессе сделать ее совместимой с Python 3. Этот проект представляет собой новую реализацию wxPython, направленную на повышение скорости, ремонтопригодности и расширяемости. Как и «классический» wxPython, он включает в себя инструментарий wxWidgets C ++ и обеспечивает доступ к частям пользовательского интерфейса wx API, позволяя приложениям Python иметь графический пользовательский интерфейс в системах Windows, Mac или Unix с естественным внешним видом и требовать очень мало кода, специфичного для платформы, если вообще есть.
Приложения, разработанные с помощью wxPython
- Чендлер , персональный информационный менеджер
- Dropbox , настольный клиент для облачного хранилища Dropbox
- Editra , многоплатформенный текстовый редактор
- Google Drive , настольный клиент для облачной системы хранения Google
- GRASS GIS , бесплатная географическая информационная система с открытым исходным кодом
- Métamorphose , пакетный переименователь
- Phatch , пакетный процессор фотографий
- PlayOnLinux и PlayOnMac , вино передние концы
- PsychoPy , инструмент для создания экспериментов в области нейробиологии и психологии.
использованная литература
Цитаты
Источники
- Раппин, Ноэль; Данн, Робин (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