WxPython
| wxPython | ||
|---|---|---|
![]() | ||
| 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
- ↑ http://wiki.wxpython.org/ProjectPhoenix Om Project Phoenix
- ↑ http://wiki.wxpython.org/ProjectPhoenix/ProjectGoals Goals of Project Phoenix
- ^ "Projekt Phoenix-meddelelse på Google Groups" . Hentet 1. januar 2014 .
- ↑ "Project Phoenix readme-fil på GitHub" . Hentet 1. januar 2014 .
