close

WxPython

Gå till navigering Gå till sök
wxPython
WxPython-logo.png
WxPythonTestLinux.png
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

Externa länkar