WxPython
| wxPython | ||
|---|---|---|
![]() | ||
| Allmän information | ||
| programtyp | grafiskt användargränssnitt | |
| Licens | LGPL | |
| Teknisk information | ||
| Schemalagt in | C och Python | |
| Versioner | ||
| Senaste stabila versionen | 4.0.7 ( 25 oktober 2019 ) | |
| Länkar | ||
wxPython är en bindning av wxWidgets grafiska bibliotek för programmeringsspråket Python . wxWidgets-biblioteket kännetecknas av att vara plattformsoberoende , så dess användning tillsammans med Python möjliggör snabb utveckling av plattformsoberoende grafiska applikationer.
Licens
Eftersom wxPython är bindande använder wxPython samma fria mjukvarulicens som wxWidgets (LGPL), vilket är en licens som godkänts av Free Software Foundation och Open Source Initiative .
Historik
wxPython föddes när Robin Dunn behövde ett GUI som skulle fungera på HP-UX-system och även på Windows 3.1 inom några veckor. Medan han utvärderade kommersiella lösningar, stötte han på några Python-bindningar för verktygslådan wxWidgets. På grund av detta lärde han sig Python på kort tid och blev en av huvudutvecklarna av wxPython (som skapades från de första bindningarna), tillsammans med Harri Pasanen. De första versionerna av omslaget skapades för hand. Kodbasen blev dock snart mycket svår att hålla synkroniserad med wxWidgets-utgåvor. Men senare versioner byggdes med SWIG, vilket kraftigt minskade mängden arbete som krävs för att uppdatera omslaget. Den första "moderna" versionen tillkännagavs 1998.
Från och med 2011 skrevs wxPython-koden nästan helt om i det som kallades Phoenix-projektet. [ 1 ] Huvudmålet med detta projekt var att automatisera utvecklingen av Python-bindningarna för wxWidgets takenit så mycket som möjligt , och därigenom minska det arbete som krävs för att underhålla wxPython. [ 2 ] Dessutom skulle den nya versionen vara kompatibel med version 3 av Python .
Project Phoenix
Phoenix-projektet, som startade 2012, är ett försök att göra wxPython kompatibelt med Python 3 [ 3 ] Detta projekt är en ny implementering av wxPython, fokuserad på att förbättra hastigheten, underhållbarheten och utbyggbarheten. Liksom "klassisk" wxPython, omsluter den wxWidgets-biblioteket och ger tillgång till delar av det som är inriktat på att skapa användargränssnitt, vilket exponerar wx API. Det gör det möjligt för Python-applikationer att ha användargränssnitt på Windows-, Mac- och Unix-system med ett inbyggt utseende och känsla, som kräver väldigt lite plattformsspecifik kod. [ 4 ]
Exempel
Detta är en enkel " Hej värld "-modul som illustrerar skapandet av två huvudobjekt i wxPython (fönstret och applikationen), och delegeringen av kontroll till ett händelsedrivet system (anrop
MainLoop()) som tillhandahåller den interaktiva delen av programmet.
#!/usr/bin/env python
importera wx
klass TestFrame ( wx . Frame ):
def __init__ ( själv , förälder , ID , titel ):
wx . Ram . __init__ ( själv , förälder , wx .ID_ANY , title , pos = ( 0 , 0 ), storlek = ( 320 , 240 ) ) panel = bx . Panel ( själv , wx .ID_ANY ) text = wx . _ StaticText ( panel , wx .ID_ANY , "Hello, World! " , wx .Point ( 10 , 5 ) , wx .Size ( - 1 , - 1 ) )
klass TestApp ( wx . App ):
def OnInit ( self ):
frame = TestFrame ( None , wx .ID_ANY , "Hej, värld! " ) self . SetTopWindow ( ram ) ram . Visa ( True ) return True
if __name__ == '__main__' :
app = TestApp ()
app . MainLoop ()
Referenser
- ↑ http://wiki.wxpython.org/ProjectPhoenix Om Project Phoenix
- ↑ http://wiki.wxpython.org/ProjectPhoenix/ProjectGoals Goals of Project Phoenix
- ^ "Projekt Phoenix tillkännagivande på Google Groups" . Hämtad 1 januari 2014 .
- ↑ "Project Phoenix readme-fil på GitHub" . Hämtad 1 januari 2014 .
