close

WxPython

Gå til navigation Gå til søg
wxPython
WxPython-logo.png
WxPythonTestLinux.png
Generel information
programtype grafisk brugerflade
Licens LGPL
Teknisk information
Planlagt ind C og Python
Versioner
Seneste stabile version 4.0.7 ( 25. oktober 2019 )
Links

wxPython er en binding af wxWidgets grafiske bibliotek til programmeringssproget Python . wxWidgets-biblioteket er kendetegnet ved at være på tværs af platforme , så dets brug sammen med Python tillader den hurtige udvikling af grafiske applikationer på tværs af platforme.

Licens

Da wxPython er bindende, bruger den samme gratis softwarelicens som wxWidgets (LGPL), som er en licens godkendt af Free Software Foundation og Open Source Initiative .

Historie

wxPython blev født, da Robin Dunn havde brug for en GUI , der ville fungere på HP-UX-systemer og også på Windows 3.1 inden for et par uger. Mens han evaluerede kommercielle løsninger, stødte han på nogle Python-bindinger til wxWidgets-værktøjssættet. På grund af dette lærte han Python på kort tid og blev en af ​​hovedudviklerne af wxPython (som affødte fra disse indledende bindinger), sammen med Harri Pasanen. De første versioner af indpakningen blev lavet i hånden. Kodebasen blev dog hurtigt meget svær at holde synkroniseret med wxWidgets-udgivelser. Men senere versioner blev bygget med SWIG, hvilket i høj grad reducerede mængden af ​​arbejde, der kræves for at opdatere indpakningen. Den første "moderne" version blev annonceret i 1998.

Fra 2011 blev wxPython-koden næsten fuldstændig omskrevet i det, der blev kaldt Phoenix-projektet. [ 1 ] Hovedmålet med dette projekt var at automatisere udviklingen af ​​Python-bindingerne til wxWidgets Takeit så meget som muligt , og derved reducere det arbejde, der kræves for at vedligeholde wxPython. [ 2 ] Derudover ville den nye version være kompatibel med version 3 af Python .

Projekt Phoenix

Phoenix Project, som startede i 2012, er et forsøg på at gøre wxPython kompatibel med Python 3 [ 3 ] Dette projekt er en ny implementering af wxPython, der fokuserer på at forbedre hastighed, vedligeholdelse og udvidelsesmuligheder. Ligesom "klassisk" wxPython omslutter det wxWidgets-biblioteket og giver adgang til dele af det, der er orienteret mod at skabe brugergrænseflader, hvilket afslører wx API. Det gør det muligt for Python-applikationer at have brugergrænseflader på Windows-, Mac- og Unix-systemer med et indbygget udseende og følelse, der kræver meget lidt platformsspecifik kode. [ 4 ]

Eksempel

Dette er et simpelt " Hej verden "-modul, der illustrerer oprettelsen af ​​to hovedobjekter i wxPython (vinduet og applikationen), og delegeringen af ​​kontrol til et hændelsesdrevet system (kalder MainLoop()), der giver den interaktive del af programmet.

#!/usr/bin/env python

import  wx

klasse  TestFrame ( wx . Frame ): 
    def  __init__ ( selv ,  forælder ,  ID ,  titel ): 
        wx . Ramme . __init__ ( selv ,  forælder ,  wx .ID_ANY , titel , pos = ( 0 , 0 ), størrelse = ( 320 , 240 ) ) panel = bx . Panel ( selv , bx .ID_ANY ) tekst = wx . _ StaticText ( panel , wx .ID_ANY , "Hej, verden! " , wx .Point ( 10 , 5 ) , wx .Size ( - 1 , - 1 ) )     
           
                

klasse  TestApp ( wx . App ): 
    def  OnInit ( self ): 
        frame  =  TestFrame ( None ,  wx .ID_ANY , "Hej, verden! " ) self . SetTopWindow ( ramme ) ramme . Vis ( True ) return True 
        
        
         

if  __name__  ==  '__main__' : 
    app  =  TestApp () 
    app . MainLoop ()

Referencer

Eksterne links