wxWidgets

wxWidgets

Logo
Basisdaten

EntwicklerVadim Zeitlin, Robin Dunn, Václav Slavík
Erscheinungsjahr1992
Aktuelle Version3.2.4
(11. November 2023[1])
Aktuelle Vorabversion3.2.3
(10. Oktober 2023[1])
BetriebssystemWindows, Unix-Derivate, PalmOS, OS/2[2]
ProgrammierspracheC++[3]
KategorieGUI-Toolkit
Lizenzmodifizierte LGPL[4]
deutschsprachigja
www.wxwidgets.org
Die grafische Benutzeroberfläche von Audacity ist mittels wxWidgets realisiert

wxWidgets (ehemals wxWindows[6]) ist ein quelloffenes GUI-Toolkit zur Entwicklung grafischer Benutzeroberflächen. Es wird in der Programmiersprache C++ entwickelt und unter einer modifizierten LGPL lizenziert, die auch das Verbreiten von abgeleiteten Werken unter eigenen Bedingungen erlaubt.[4] Obwohl wxWidgets in C++ implementiert ist, existieren Anbindungen für eine Vielzahl weiterer Programmiersprachen. Durch seine Plattformunabhängigkeit ermöglicht wxWidgets, den GUI-spezifischen Code eines Programms bei keiner oder nur geringer Modifikation auf verschiedensten Plattformen zu kompilieren und auszuführen.

wxWidgets wird in einer Reihe bekannter Projekte verwendet[7], beispielsweise durch den Audioeditor Audacity, dem Verschlüsselungsprogramm VeraCrypt, dem Strategiespiel 0 A.D., den FTP-Client FileZilla, der Entwicklungsumgebung Code::Blocks sowie in der Vergangenheit auch durch Bitcoin Core.

Umfang

Die Programmierschnittstelle ermöglicht die Entwicklung von GUI-Programmen für Windows, Unix, Mac, Symbian OS, Palm OS und Windows CE. wxWidgets abstrahiert plattformabhängige Funktionen, beispielsweise die Interprozesskommunikation (IPC), und bietet zusätzliche Funktionen an, zum Beispiel eine Hashtabelle. Einige Funktionen wie zum Beispiel wxMetafile oder OLE werden für die jeweilige Plattform einzeln in wxWidgets implementiert. Für bessere Portabilität verzichtet wxWidgets auf Ausnahmen (englisch: exceptions) und Templates. Die API umfasst über 450 Klassen mit über 5000 Funktionen. Wichtigste Funktionalitäten decken folgende Bereiche ab:

  • Direkte Grafikausgabe
  • Plattformunabhängiges GUI-Layout (sizerlayout)
  • GUI-Ressourcen (XRC) werden per XML portiert
  • Online-Dokumentation (z. B. HTML, CHM)
  • Unicode und Meldungskataloge
  • Plattformunabhängiges Grafikformat: XPM
  • Sehr leistungsstarke wxImage-Klasse
  • Maschinenunabhängige Streamklasse
  • C++-typische Container/Daten-Klassen
  • MIME Types Manager
  • OLE-Automatisierung
  • Multithreading
  • Konfiguration per Datei, Windows Registry oder *.ini

Entwicklung

Im Jahr 1992 erschien die erste Ausgabe, welche für XView und MFC war.

Von 1993 bis 1995 wurden Motif, der Xt-Port und wxPython entwickelt und veröffentlicht. Von 1998 bis 2002 wurde der GTK-Port eingesetzt, der Mac-2.0-Port, der X11-Port und der OS/2-Port begonnen.

2003 wurde die wxWidgets Software Foundation gegründet, welche nach einigen Monaten wieder aufgelöst wurde. Ein Jahr später wurde wxWindows auf Bitte und durch Bezahlung von Microsoft in wxWidgets umbenannt.[6]

Im Jahr 2005 fand die Veröffentlichung von wxWidgets 2.6.0 statt. Es löste die vorherige stabile Version 2.4.2 von Mitte 2003 ab. Ende 2006 ist die Version 2.8.0 erschienen, im September 2009 wurde die Version 2.9.0 veröffentlicht.

Sprachanbindungen

SpracheProjekt
BASICwxBasic
BlitzMaxwxMax
CwxC
DwxD
EiffelwxEiffel
ErlangwxErlang
EuphoriawxEuphoria
Javawx4j
JavaScriptwxJS, GLUEScript
HaskellwxHaskell
HollywoodRapaGUI
LuawxLua
.Net-Framework (C#)wx.NET
PerlwxPerl
PHPwxPHP
PythonwxPython
RubywxRuby

Siehe auch

Literatur

  • Ryan Wilcox: The Experienced Man’s Notes for Cross-Platform GUI Programming with wxWidgets. 1. Auflage. 2009.
  • Julian Smart, Kevin Hock, Stefan Csomor: Cross-Platform GUI Programming with wxWidgets. ISBN 0-13-147381-6 (englisch, PDF [abgerufen am 20. Februar 2009]).

Weblinks

Commons: WxWidgets – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

  1. a b Downloads. Abgerufen am 12. Januar 2024.
  2. wxwidgets.org (Memento vom 24. Oktober 2006 im Internet Archive)
  3. The wxwidgets Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 18. Juli 2018).
  4. a b wxWidgets-Lizenz (englisch)
  5. Internationalization. Abgerufen am 30. März 2009.
  6. a b Harald Bögeholz: wxWindows heißt jetzt wxWidgets, Heise online, 22. Februar 2004
  7. Liste von Projekten

Auf dieser Seite verwendete Medien

AudacityScreenshotLinux.png
Autor/Urheber: unknown, Lizenz: CC BY-SA 3.0
WxWidgets.svg
Autor/Urheber: Bryan Petty, Lizenz: CC BY-SA 1.0
Blocks icon for wxWidgets