close

WxPython

Zur Navigation gehen Zur Suche gehen
wxPython
WxPython-logo.png
WxPythonTestLinux.png
Allgemeine Information
Programmtyp grafische Benutzeroberfläche
Lizenz LGPL
Technische Information
Eingeplant C und Python
Versionen
Neueste stabile Version 4.0.7 ( 25. Oktober 2019 )
Verknüpfungen

wxPython ist eine Bindung der grafischen Bibliothek wxWidgets für die Programmiersprache Python . Die wxWidgets-Bibliothek zeichnet sich dadurch aus, dass sie plattformübergreifend ist, sodass ihre Verwendung zusammen mit Python die schnelle Entwicklung plattformübergreifender grafischer Anwendungen ermöglicht.

Lizenz

Da es sich um eine Bindung handelt, verwendet wxPython dieselbe freie Softwarelizenz wie wxWidgets (LGPL), eine Lizenz, die von der Free Software Foundation und der Open Source Initiative genehmigt wurde .

Geschichte

wxPython wurde geboren, als Robin Dunn eine GUI benötigte , die innerhalb weniger Wochen auf HP-UX-Systemen und auch auf Windows 3.1 funktionieren würde. Bei der Bewertung kommerzieller Lösungen stieß er auf einige Python-Bindungen für das wxWidgets-Toolkit. Aus diesem Grund lernte er Python in kurzer Zeit und wurde zusammen mit Harri Pasanen einer der Hauptentwickler von wxPython (das aus diesen anfänglichen Bindungen hervorging). Die ersten Versionen des Wrappers wurden von Hand erstellt. Es wurde jedoch bald sehr schwierig, die Codebasis mit wxWidgets-Veröffentlichungen synchron zu halten. Spätere Versionen wurden jedoch mit SWIG erstellt, wodurch der Arbeitsaufwand für die Aktualisierung des Wrappers erheblich reduziert wurde. Die erste "moderne" Version wurde 1998 angekündigt.

Ab 2011 wurde der wxPython-Code im sogenannten Phoenix-Projekt fast vollständig neu geschrieben. [ 1 ] Das Hauptziel dieses Projekts war es, die Entwicklung der Python-Bindungen für das wxWidgets -Takeit so weit wie möglich zu automatisieren und dadurch den Arbeitsaufwand für die Wartung von wxPython zu reduzieren. [ 2 ] Außerdem wäre die neue Version mit Version 3 von Python kompatibel .

Projekt Phoenix

Das Phoenix-Projekt, das 2012 gestartet wurde, ist ein Versuch, wxPython mit Python 3 kompatibel zu machen . Wie das „klassische“ wxPython umschließt es die wxWidgets-Bibliothek und bietet Zugriff auf Teile davon, die auf die Erstellung von Benutzeroberflächen ausgerichtet sind, wodurch die wx-API verfügbar gemacht wird. Es ermöglicht Python-Anwendungen, Benutzeroberflächen auf Windows-, Mac- und Unix-Systemen mit einem nativen Look-and-Feel zu haben, was sehr wenig plattformspezifischen Code erfordert. [ 4 ]

Beispiel

Dies ist ein einfaches " Hallo Welt "-Modul, das die Erstellung von zwei Hauptobjekten in wxPython (das Fenster und die Anwendung) und die Delegation der Kontrolle an ein ereignisgesteuertes System (das Aufrufen von MainLoop()) veranschaulicht, das den interaktiven Teil des Programms bereitstellt.

#!/usr/bin/env python

 wx importieren

class  TestFrame ( wx . Frame ): 
    def  __init__ ( self ,  parent ,  ID ,  title ): 
        wx . Rahmen . __init__ ( self ,  parent ,  wx .ID_ANY , title , pos = ( 0 , 0 ), size = ( 320 , 240 ) ) panel = wx . Panel ( selbst , wx .ID_ANY ) text = wx . _ StaticText ( panel , 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 ( Rahmen ) Rahmen . Show ( True ) gibt True zurück 
        
        
         

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

Referenzen

Externe Links