close

WxPython

Перейти к навигации Перейти к поиску
wxPython
WxPython-logo.png
WxPythonTestLinux.png
Главная Информация
тип программы графический пользовательский интерфейс
Лицензия 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 . Основной цикл ()

Ссылки

Внешние ссылки