„WxWidgets“ – Versionsunterschied
[ungesichtete Version] | [gesichtete Version] |
gebräuchlichere Begriffe |
K Bot: http → https |
||
(387 dazwischenliegende Versionen von mehr als 100 Benutzern, die nicht angezeigt werden) | |||
Zeile 1: | Zeile 1: | ||
{{ |
{{SEITENTITEL:wxWidgets}} |
||
{{Infobox Software |
|||
'''wxWidgets''' (ehemals '''wxWindows''') ist ein [[Open Source]] [[C-Plusplus|C++]]-[[Framework]] zur plattformunabhängigen Entwicklung von [[Anwendung]]en mit [[grafische Benutzeroberfläche|grafischer Benutzeroberfläche (GUI)]]. |
|||
| Name= wxWidgets |
|||
| Logo= [[Datei:WxWidgets.svg|150px|Logo]] |
|||
| Screenshot= |
|||
| Beschreibung= |
|||
| Maintainer= |
|||
| Erscheinungsjahr= 1992 |
|||
| AktuelleVersion= <!-- Wikidata --> |
|||
| Betriebssystem= [[Microsoft Windows|Windows]], [[Unix-Derivat]]e, [[PalmOS]], [[OS/2]]<ref>{{Webarchiv |url=http://wxwidgets.org/about/datasheets/wxWidgetsOverview.pdf |text=wxWidgets Overview |wayback=20061024083011}}</ref> |
|||
| Kategorie= [[GUI-Toolkit]] |
|||
| Lizenz= modifizierte [[GNU Lesser General Public License|LGPL]]<ref name="Lizenz" /> |
|||
| Deutsch= teilweise<ref>{{Internetquelle |url=https://www.wxwidgets.org/about/i18n.php |titel=Internationalization |abruf=2009-03-30}}</ref> |
|||
| Website= [https://www.wxwidgets.org/ www.wxwidgets.org] |
|||
}} |
|||
[[Datei:AudacityScreenshotLinux.png|mini|Die grafische Benutzeroberfläche von ''Audacity'' ist mittels wxWidgets realisiert]] |
|||
'''wxWidgets''' (ehemals '''wxWindows'''<ref name="heise">Harald Bögeholz: ''[https://www.heise.de/newsticker/meldung/wxWindows-heisst-jetzt-wxWidgets-93957.html wxWindows heißt jetzt wxWidgets]'', Heise online, 22. Februar 2004</ref>) ist ein quelloffenes [[GUI-Toolkit]] zur Entwicklung [[Grafische Benutzeroberfläche|grafischer Benutzeroberflächen]]. Es wird in der Programmiersprache [[C++]] entwickelt und unter einer modifizierten [[GNU Lesser General Public License|LGPL]] lizenziert, die auch das Verbreiten von abgeleiteten Werken unter eigenen Bedingungen erlaubt.<ref name="Lizenz">[https://www.wxwidgets.org/about/licence/ wxWidgets-Lizenz] (englisch)</ref> |
|||
Obwohl wxWidgets in C++ implementiert ist, existieren [[Sprachanbindung|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. |
|||
Eine Reihe bekannter Projekte verwendet wxWidgets,<ref>[https://wiki.wxwidgets.org/Project_List Liste von Projekten]</ref> darunter z. B. der Audioeditor [[Audacity]], das Verschlüsselungsprogramm [[VeraCrypt]], das Strategiespiel [[0 A.D.]], der FTP-Client [[FileZilla]] und die Entwicklungsumgebung [[Code::Blocks]]. |
|||
== Umfang == |
== Umfang == |
||
Die |
Die Programmierschnittstelle ermöglicht die Entwicklung von GUI-Programmen für [[Microsoft Windows|Windows]], [[Unix]], [[Apple Macintosh|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 [[Object Linking and Embedding|OLE]] werden für die jeweilige Plattform einzeln in wxWidgets implementiert. Für bessere Portabilität verzichtet wxWidgets auf [[Ausnahmebehandlung|Ausnahmen]] (englisch: ''exceptions'') und [[Template (C++)|Templates]]. Die API umfasst über 450 Klassen mit über 5000 Funktionen. Wichtigste Funktionalitäten decken folgende Bereiche ab: |
||
* Direkte Grafikausgabe |
|||
* Plattformunabhängiges [[Grafische Benutzeroberfläche|GUI]]-Layout (sizerlayout) |
|||
* DeviceContext (Grafikausgabe) |
|||
* GUI-Ressourcen (XRC) werden per [[Extensible Markup Language|XML]] portiert |
|||
* Platformnatives GUI-Layout (sizerlayout) mit Fenstern und Dialogen |
|||
* Online-Dokumentation (z. B. [[Hypertext Markup Language|HTML]], [[CHM (Dateiformat)|CHM]]) |
|||
* [[XML]]-basiertes laden von UI-Ressourcen (XRC) |
|||
* Online-Hilfe (z.B. HTML, CHM) |
|||
* [[Unicode]] und Meldungskataloge |
* [[Unicode]] und Meldungskataloge |
||
* Plattformunabhängiges Grafikformat: [[X PixMap|XPM]] |
|||
* XPM-Unterstützung für alle Plattformen |
|||
* wxImage-Klasse |
* Sehr leistungsstarke wxImage-Klasse |
||
* Maschinenunabhängige Streamklasse |
* Maschinenunabhängige Streamklasse |
||
* |
* [[C++]]-typische Container/Daten-Klassen |
||
* [[Multipurpose Internet Mail Extensions|MIME]] Types Manager |
|||
* wxODBC-Klassen |
|||
* [[Object Linking and Embedding|OLE]]-Automatisierung |
|||
* [[Multithreading]] |
* [[Multithreading]] |
||
* Konfiguration per Datei, Registry oder *.ini |
* Konfiguration per Datei, [[Windows-Registrierungsdatenbank|Windows Registry]] oder *.ini |
||
== Lizenz == |
|||
Die wxWidgets-[[Lizenz]] ist eine leicht modifizierte [[LGPL]] und erlaubt daher die freie Verwendung in kommerzieller und freier Software und den weiteren Vertrieb unter einer selbst gewählten Lizenz. |
|||
== Kurze Übersicht zur Entwicklung == |
|||
== Entwicklung == |
|||
* 1992: erste Ausgabe, für XView und MFC |
|||
Im Jahr 1992 erschien die erste Ausgabe, welche für XView und [[Microsoft Foundation Classes|MFC]] war. |
|||
* 1993-1995: [[Motif]] und Xt Port, wxPython |
|||
* 1998-2002: wxGTK Port; wxMac 2.0 Port begonnen; wxX11 Port begonnen; OS/2 Port |
|||
* 2003: ''wxWidgets Software Foundation'' gegründet (nach einigen Monaten aufgelöst); WinCE Port |
|||
* 2004: Umbenennung von wxWindows zu wxWidgets nach Anfrage von Microsoft |
|||
* 2005: Nach langer Wartezeit Veröffentlichung von wxWidgets 2.6.0, löst vorherige 'stable' Version 2.4.2 von Mitte 2003 ab |
|||
Von 1993 bis 1995 wurden [[Motif]], der [[X-Toolkit|Xt]]-Port und [[wxPython]] entwickelt und veröffentlicht. Von 1998 bis 2002 wurde der [[GTK (Programmbibliothek)|GTK]]-Port eingesetzt, der [[Apple Macintosh|Mac]]-2.0-Port, der [[X11]]-Port und der [[OS/2]]-Port begonnen. |
|||
== Unterstützung weiterer Sprachen für wxWidgets == |
|||
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.<ref name="heise" /> |
|||
* [[Basic]]: [[wxBasic]], [http://wxbasic.sourceforge.net/ wxBasic] |
|||
* [[C (Programmiersprache)|C]]: [http://sourceforge.net/projects/wxc/ wxC] |
|||
* [[Eiffel]]: [http://elj.sourceforge.net/projects/gui/ewxw/ wxEiffel] |
|||
* [[Java (Programmiersprache)|Java]]: [http://www.wx4j.org/ wx4j] |
|||
* [[Javascript]]: [http://wxjs.sourceforge.net/ wxJS] |
|||
* [[Haskell (Programmiersprache)|Haskell]]: [http://wxhaskell.sourceforge.net/ wxHaskell] |
|||
* [[Lua]]: [http://www.luascript.thersgb.net/ wxLua] |
|||
* [[.NET]] ([[C-Sharp|C#]]): [http://wxnet.sourceforge.net/ wx.NET] |
|||
* [[Perl]]: [http://wxperl.sourceforge.net/ wxPerl] |
|||
* [[Python (Programmiersprache)|Python]]: [[WxPython|wxPython]] |
|||
* [[Ruby]]: [http://wxruby.rubyforge.org/ wxRuby] |
|||
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. |
|||
== Werkzeuge, Anbindungen und Klassen für wxWidgets == |
|||
== Sprachanbindungen == |
|||
* [[XML]]-Unterstützung: [http://xml4wxwindows.sourceforge.net/ xml4wxwindows] |
|||
{| class="wikitable" |
|||
* [[Mozilla]]-Anbindung: [http://wxmozilla.sourceforge.net/ wxMozilla] |
|||
|- |
|||
* [[SSL]]-Unterstützung: [http://wxssl.sourceforge.net/ wxSSL] |
|||
! Sprache !! Projekt |
|||
* [[SQLite]]-Anbindung: [http://members.optusnet.com.au/~blackpaw1/wxsqlite.html wxSQLite] |
|||
|- |
|||
* [[Scintilla]]-Anbindung: (als wxSTC in den "Contribs") |
|||
| [[BASIC]] || [[wxBasic]] |
|||
* Verschiedene Komponenten: [http://wxCode.sourceforge.net wxCode] |
|||
|- |
|||
* [http://poedit.sourceforge.net/ poEdit] ist ein Werkzeug zur [[Internationalisierung]] von wxWidgets Anwendungen |
|||
| [[BlitzMax]] || wxMax |
|||
* [http://www.roebling.de/ wxDesigner] ist ein kommerzieller [[Graphical User Interface|GUI]] Designer |
|||
|- |
|||
| [[C (Programmiersprache)|C]] || wxC |
|||
|- |
|||
| [[D (Programmiersprache)|D]] || wxD |
|||
|- |
|||
| [[Eiffel (Programmiersprache)|Eiffel]] || wxEiffel |
|||
|- |
|||
| [[Erlang (Programmiersprache)|Erlang]] || wxErlang |
|||
|- |
|||
| [[Euphoria (Programmiersprache)|Euphoria]] || wxEuphoria |
|||
|- |
|||
| [[Java (Programmiersprache)|Java]] || wx4j |
|||
|- |
|||
| [[JavaScript]] || wxJS, GLUEScript |
|||
|- |
|||
| [[Haskell (Programmiersprache)|Haskell]] || wxHaskell |
|||
|- |
|||
| [[Hollywood (Programmiersprache)|Hollywood]] || RapaGUI |
|||
|- |
|||
| [[Lua]] || wxLua |
|||
|- |
|||
| [[.Net-Framework]] ([[C-Sharp|C#]]) || wx.NET |
|||
|- |
|||
| [[Perl (Programmiersprache)|Perl]] || wxPerl |
|||
|- |
|||
| [[PHP]] || wxPHP |
|||
|- |
|||
| [[Python (Programmiersprache)|Python]] || [[wxPython]] |
|||
|- |
|||
| [[Ruby (Programmiersprache)|Ruby]] || wxRuby |
|||
|} |
|||
== Siehe auch == |
|||
== Programme die mit wxWidgets erstellt wurden == |
|||
* [[Liste von GUI-Bibliotheken]] |
|||
== Literatur == |
|||
* [[AOL]] Communicator: http://www.aolepk.com/communicator/ |
|||
* {{Literatur |
|||
* [[Audacity]] Bearbeitungsprogramm für Tondateien: http://audacity.sourceforge.net/ |
|||
|Autor=Julian Smart, Kevin Hock, Stefan Csomor |
|||
* [[Forte Agent]]: Ein [[Newsreader|News]]- und [[E-Mail-Programm|Mailreader]] für [[Windows]] |
|||
|Titel=Cross-Platform GUI Programming with wxWidgets |
|||
* [http://mahogany.sourceforge.net/ Mahogany]: Ein plattformunabhängiger [[Newsreader|News]]- und [[Mailreader]] |
|||
|Datum=2005 |
|||
* [[Share Deamon]]: [[Peer-to-Peer|P2P]] [[Tauschbörse|Filesharing]] Programm: http://sharedaemon.sourceforge.net/sharedaemon.php |
|||
|ISBN=0-13-147381-6 |
|||
* [http://www.tortoisecvs.org/ TortoiseCVS]: Ein [[CVS]]-Client für [[Windows]] |
|||
|Sprache=en |
|||
* [[VLC Media Player|VLC media player]]: Ein portabler [[Multimedia]]-Player |
|||
|Online=https://www.informit.com/content/images/0131473816/downloads/0131473816_book.pdf |
|||
|Format=PDF |
|||
|KBytes=6800 |
|||
|Abruf=2009-02-20}} |
|||
* {{Literatur |
|||
|Autor=Ryan Wilcox |
|||
|Titel=The Experienced Man’s Notes for Cross-Platform GUI Programming with wxWidgets |
|||
|Auflage=1. |
|||
|Datum=2009 |
|||
|Sprache=en}} |
|||
== Weblinks == |
== Weblinks == |
||
{{Commonscat}} |
|||
* [http://wxwidgets.org/ Projekthomepage] |
|||
* [ |
* [https://www.wxwidgets.org/ Offizielle Website] (englisch) |
||
* [ |
* [https://wiki.wxwidgets.org/Main_Page Wiki des wxWidgets-Projekts] (englisch) |
||
* [https://github.com/wxWidgets/wxWidgets wxWidgets] bei GitHub (englisch) |
|||
* [http://sourceforge.net/projects/wxwindows WxWidgets bei Sourceforge.net] |
|||
* [https://www.c-plusplus.net/forum/topic/159232/wxwidgets-tutorial-part-i-einf%C3%BChrung-in-wxwidgets C++-Magazin] eine Einführung in wxWidgets Teil 1 und 2 |
|||
== Einzelnachweise == |
|||
[[Kategorie:Bibliothek (Programmierung)]] |
|||
<references /> |
|||
[[Kategorie:Freie Software]] |
|||
[[Kategorie:Programmiersprache C-Plusplus]] |
|||
[[Kategorie:GUI-Toolkit]] |
|||
[[en:WxWidgets]] |
|||
[[Kategorie:Freie Systemsoftware]] |
|||
[[fr:WxWidgets]] |
|||
[[Kategorie:Windows-Software]] |
|||
[[pl:WxWidgets]] |
|||
[[Kategorie:Unix-Software]] |
|||
[[pt:WxWidgets]] |
|||
[[Kategorie:Palm-OS-Software]] |
|||
[[Kategorie:C++-Bibliothek]] |
Aktuelle Version vom 19. April 2025, 19:00 Uhr
wxWidgets
| |
---|---|
![]() | |
Basisdaten
| |
Entwickler | Vadim Zeitlin, Robin Dunn, Václav Slavík |
Erscheinungsjahr | 1992 |
Aktuelle Version | 3.3.0[1] (6. Juni 2025) |
Aktuelle Vorabversion | 3.1.2[2][3] (10. Dezember 2018) |
Betriebssystem | Windows, Unix-Derivate, PalmOS, OS/2[4] |
Programmiersprache | C++[5] |
Kategorie | GUI-Toolkit |
Lizenz | modifizierte LGPL[6] |
deutschsprachig | ja |
www.wxwidgets.org |

wxWidgets (ehemals wxWindows[8]) 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.[6] 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.
Eine Reihe bekannter Projekte verwendet wxWidgets,[9] darunter z. B. der Audioeditor Audacity, das Verschlüsselungsprogramm VeraCrypt, das Strategiespiel 0 A.D., der FTP-Client FileZilla und die Entwicklungsumgebung Code::Blocks.
Umfang
[Bearbeiten | Quelltext bearbeiten]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
[Bearbeiten | Quelltext bearbeiten]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.[8]
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
[Bearbeiten | Quelltext bearbeiten]Sprache | Projekt |
---|---|
BASIC | wxBasic |
BlitzMax | wxMax |
C | wxC |
D | wxD |
Eiffel | wxEiffel |
Erlang | wxErlang |
Euphoria | wxEuphoria |
Java | wx4j |
JavaScript | wxJS, GLUEScript |
Haskell | wxHaskell |
Hollywood | RapaGUI |
Lua | wxLua |
.Net-Framework (C#) | wx.NET |
Perl | wxPerl |
PHP | wxPHP |
Python | wxPython |
Ruby | wxRuby |
Siehe auch
[Bearbeiten | Quelltext bearbeiten]Literatur
[Bearbeiten | Quelltext bearbeiten]- Julian Smart, Kevin Hock, Stefan Csomor: Cross-Platform GUI Programming with wxWidgets. 2005, ISBN 0-13-147381-6 (englisch, informit.com [PDF; 6,8 MB; abgerufen am 20. Februar 2009]).
- Ryan Wilcox: The Experienced Man’s Notes for Cross-Platform GUI Programming with wxWidgets. 1. Auflage. 2009 (englisch).
Weblinks
[Bearbeiten | Quelltext bearbeiten]- Offizielle Website (englisch)
- Wiki des wxWidgets-Projekts (englisch)
- wxWidgets bei GitHub (englisch)
- C++-Magazin eine Einführung in wxWidgets Teil 1 und 2
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ Release 3.3.0. 6. Juni 2025 (abgerufen am 16. Juni 2025).
- ↑ Release 3.1.2. 10. Dezember 2018 (abgerufen am 11. Dezember 2018).
- ↑ wxWidgets 3.1.2 Released. 10. Dezember 2018.
- ↑ wxWidgets Overview ( vom 24. Oktober 2006 im Internet Archive)
- ↑ The wxwidgets Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 18. Juli 2018).
- ↑ a b wxWidgets-Lizenz (englisch)
- ↑ Internationalization. Abgerufen am 30. März 2009.
- ↑ a b Harald Bögeholz: wxWindows heißt jetzt wxWidgets, Heise online, 22. Februar 2004
- ↑ Liste von Projekten