{"id":176731,"date":"2023-05-21T09:02:26","date_gmt":"2023-05-21T08:02:26","guid":{"rendered":"https:\/\/liora.io\/de\/?p=176731"},"modified":"2026-02-06T06:46:22","modified_gmt":"2026-02-06T05:46:22","slug":"wxpython-alles-ueber-den-python-wrapper-fuer-wxwidgets","status":"publish","type":"post","link":"https:\/\/liora.io\/de\/wxpython-alles-ueber-den-python-wrapper-fuer-wxwidgets","title":{"rendered":"wxPython: Alles \u00fcber den Python-Wrapper f\u00fcr wxWidgets"},"content":{"rendered":"<p><strong>wxPython ist ein Python-Wrapper f\u00fcr das GUI-Toolset wxWidgets. Hier erf\u00e4hrst du alles, was du \u00fcber ihn wissen musst: Vorstellung, Funktionsweise, Vorteile, Alternativen, Schulungen&#8230;<\/strong><\/p>\n1995 ben\u00f6tigte Robin Dunn eine plattform\u00fcbergreifende L\u00f6sung, eine Anwendung f\u00fcr eine <strong>grafische Benutzeroberfl\u00e4che (GUI)<\/strong>, die sowohl auf HP-UX-Systemen als auch auf Windows 3.1 laufen konnte.\n\nAls er sich die vorhandenen freien und kommerziellen L\u00f6sungen ansah, entdeckte er <a href=\"https:\/\/liora.io\/de\/matplotlib-alles-wissen\">Python-Bindings<\/a> auf der Webseite des Toolkits <a href=\"\/\">wxWidgets<\/a>, das damals noch wxWindows hie\u00df.\n\nSo lernte er Python kennen. Mit Hilfe seiner Mitsch\u00fcler Harri Pasanen und Edward Zimmerman begann er, ein Binding mit dem Namen <strong>wxPython<\/strong> zu entwickeln.\n\n?Auch interessant:\n<table dir=\"ltr\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<colgroup>\n<col width=\"268\"><\/colgroup>\n<tbody>\n<tr>\n<td data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Python&quot;}\" data-sheets-hyperlink=\"https:\/\/liora.io\/de\/python\"><a href=\"https:\/\/liora.io\/de\/python\" target=\"_blank\" rel=\"noopener\">Python<\/a><\/td>\n<\/tr>\n<tr>\n<td data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Wordcloud Python&quot;}\" data-sheets-hyperlink=\"https:\/\/liora.io\/de\/wordcloud-python\"><a href=\"https:\/\/liora.io\/de\/wordcloud-python\" target=\"_blank\" rel=\"noopener\">Wordcloud Python<\/a><\/td>\n<\/tr>\n<tr>\n<td data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Python oder R ?&quot;}\" data-sheets-hyperlink=\"https:\/\/liora.io\/de\/python-oder-r\"><a href=\"https:\/\/liora.io\/de\/python-oder-r\" target=\"_blank\" rel=\"noopener\">Python oder R ?<\/a><\/td>\n<\/tr>\n<tr>\n<td data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Python f\u00fcr Dummies Teil 2&quot;}\" data-sheets-hyperlink=\"https:\/\/liora.io\/de\/python-fuer-dummies-teil-2\"><a href=\"https:\/\/liora.io\/de\/python-fuer-dummies-teil-2\" target=\"_blank\" rel=\"noopener\">Python f\u00fcr Dummies Teil 2<\/a><\/td>\n<\/tr>\n<tr>\n<td data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Python Schulung&quot;}\" data-sheets-hyperlink=\"https:\/\/liora.io\/de\/python-schulung\"><a href=\"https:\/\/liora.io\/de\/python-schulung\" target=\"_blank\" rel=\"noopener\">Python Schulung<\/a><\/td>\n<\/tr>\n<tr>\n<td data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Was ist Scala und wieso ist Python besser&quot;}\" data-sheets-hyperlink=\"https:\/\/liora.io\/de\/scala-was-ist-diese-programmiersprache-und-wieso-ist-python-besser\"><a href=\"https:\/\/liora.io\/de\/scala-was-ist-diese-programmiersprache-und-wieso-ist-python-besser\" target=\"_blank\" rel=\"noopener\">Was ist Scala und wieso ist Python besser<\/a><\/td>\n<\/tr>\n<tr>\n<td data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Top der nativen Python Funktionen&quot;}\" data-sheets-hyperlink=\"https:\/\/liora.io\/de\/top-10-der-nativen-python-funktionen\"><a href=\"https:\/\/liora.io\/de\/top-10-der-nativen-python-funktionen\" target=\"_blank\" rel=\"noopener\">Top der nativen Python Funktionen<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Was ist Python ?<\/h3>\nPython wurde urspr\u00fcnglich von Guido van Rossum entwickelt und 1991 ver\u00f6ffentlicht. Es ist eine interpretierte, interaktive und objektorientierte Programmiersprache. Sie wird oft mit Tcl, Perl, Scheme oder Java verglichen und ist von den Sprachen ABC und Haskell inspiriert.\n\nEs handelt sich um eine allgemeine Hochsprache, aber manche ziehen es vor, sie als dynamische Sprache zu bezeichnen. Python ist einfach zu erlernen und verdankt seine Popularit\u00e4t seinem Minimalismus.\n\nSeine Syntax \u00e4hnelt der englischen Sprache. Zum Beispiel verwendet es keine Semikolons oder Klammern. Heute wird Python von einer gro\u00dfen Gemeinschaft von Beitragenden auf der ganzen Welt gepflegt.\n\nAu\u00dferdem bietet <a href=\"https:\/\/liora.io\/de\/top-10-der-python-bibliotheken-fur-data-scientists\">Python viele Bibliotheken<\/a> und Wrapper f\u00fcr bestehende Tools in anderen Sprachen. F\u00fcr die Erstellung von grafischen Benutzeroberfl\u00e4chen (GUIs) sind die drei wichtigsten Optionen PyGTK, <a href=\"https:\/\/liora.io\/de\/pyqt-wie-funktioniert-der-wrapper-der-python-mit-gui-qt-verbindet\">PyQt<\/a> und wxPython.\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"813\" height=\"488\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/05\/python-wxpython.jpg\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/05\/python-wxpython.jpg 813w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/05\/python-wxpython-300x180.jpg 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/05\/python-wxpython-768x461.jpg 768w\" sizes=\"(max-width: 813px) 100vw, 813px\"><figcaption><\/figcaption><\/figure>\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\"><div class=\"wp-block-button \"><a class=\"wp-block-button__link wp-element-button \" href=\"https:\/\/liora.io\/de\/unsere-aus-und-weiterbildungen\">Python Weiterbildung<\/a><\/div><\/div>\n\n<h3>Was ist wxPython ?<\/h3>\n<strong>wxPython<\/strong> ist ein Wrapper der wxWidgets-GUI-API f\u00fcr die Programmiersprache Python. Diese API ist in <a href=\"https:\/\/liora.io\/de\/c-was-die-meisten-nicht-wissen\">C++<\/a> geschrieben, weshalb wxPython f\u00fcr die Verwendung in Python unerl\u00e4sslich ist. Es ist eine Alternative zu Tktinter, das standardm\u00e4\u00dfig mit Python angeboten wird.\n\nDas Paket kann zur Laufzeit importiert werden und umfasst eine Sammlung von Python-Modulen und ein Modul zur Erweiterung von nativem Code\n\nEs bietet eine Reihe von Python-Klassen, die den Klassen in wxWidgets \u00e4hneln.\n\nDas Erweiterungsmodul spiegelt die Klassenhierarchie von wxWidgets wider. So findet sich beispielsweise eine wxFrame-Klasse in wxPython, die der wxFrame-Klasse in der C++-Version zum Verwechseln \u00e4hnlich sieht.\n\nAls Wrapper verwendet wxPython die gleiche freie Softwarelizenz wie wxWdigets: die wxWindows Licence. Sie wird von der <a href=\"\/\">Free Software Foundation<\/a> und der <a href=\"https:\/\/liora.io\/de\/open-source-definition\">Open Source<\/a> Initiative genehmigt.\n\nNach der Version 0.2 im Jahr 1995 wurde im August 1998 die Version 0.3 ver\u00f6ffentlicht. Sie wurde f\u00fcr wxWidgets 2.0 entwickelt und lief auf Win32. Eine wxGTK-Version wurde auch f\u00fcr Unix\/X-Windows-Plattformen entwickelt.\n\nDie ersten Versionen von wxPython wurden manuell erstellt, aber es wurde schwierig, den Code zu pflegen und die Synchronisation mit den wxWidgets-Relaxen aufrechtzuerhalten. Ab 1997 wurden Versionen mit<strong> SWIG<\/strong> erstellt, um den Arbeitsaufwand f\u00fcr Updates zu reduzieren.\n<h3>Was ist das Phoenix Projekt ?<\/h3>\nDas 2010 angek\u00fcndigte Projekt Phoenix hat das Ziel, wxPython zu verschlanken und es gleichzeitig mit Python 3 kompatibel zu machen. wxPython ist eine neue Implementierung von wxPython, die sich auf Geschwindigkeit, Erweiterbarkeit und Wartbarkeit konzentriert.\n\nWie die vorherigen Versionen von wxPython umschlie\u00dft das neue Projekt das <strong>wxWidgets C++<\/strong> Toolkit und bietet Zugriff auf die Benutzeroberfl\u00e4chenteile der wxWidgets API. Ab der 2017 ver\u00f6ffentlichten Version 4.0.0a1 von wxPython wurde das Phoenix-Projekt zur offiziellen Version des Wrappers.\n<h3>Wozu dient wxPython ?<\/h3>\nDie Rolle von wxPython besteht darin, es zu erm\u00f6glichen, Python zu verwenden, um plattform\u00fcbergreifende GUI-Anwendungen zu erstellen, ohne dass plattformspezifischer Code ben\u00f6tigt wird.\n\nMan kann es auch in Situationen verwenden, in denen Python in eine C++-Anwendung als Makro- oder interne Skriptsprache eingebettet ist.\n\nEs ist ein n\u00fctzliches Werkzeug f\u00fcr Leute, die lieber Python als C++ verwenden. Es erm\u00f6glicht auch das schnelle Prototyping von wxWidget-Anwendungen, wo C++ Zeit f\u00fcr den compile-link-run-Zyklus erfordert. In Python wird dieser Zyklus auf edit-run reduziert.\n\nDaher ist es m\u00f6glich, eine Anwendung in wenigen Stunden statt in Tagen wie bei C++ zu erstellen. Auch die Umwandlung einer wxPython-Anwendung in eine C++\/wxWindgets-Anwendung ist eine einfache Aufgabe.\n\nBekannte Anwendungen, die mit wxPython entwickelt wurden, sind z. B. die Verwaltung pers\u00f6nlicher Informationen Chandler, die Desktop-Clients der <a href=\"https:\/\/liora.io\/de\/cloud-data-engineer-kompetenzen-gehalt-ausbildung\">Cloud-Speicherdienste<\/a> Dropbox und Google Drive, der plattform\u00fcbergreifende Texteditor Editra oder die Fotobearbeitungssoftware Phatch.\n\nWeitere Beispiele sind das geografische Informationssystem GRASS GIS, die Frontends PlayOnLinux und PlayOnMac f\u00fcr Wine und das neurowissenschaftliche Tool PsychoPy.\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"689\" height=\"400\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/05\/application-gui.jpg\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/05\/application-gui.jpg 689w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/05\/application-gui-300x174.jpg 300w\" sizes=\"(max-width: 689px) 100vw, 689px\">\n\n<figcaption><\/figcaption><\/figure>\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\"><div class=\"wp-block-button \"><a class=\"wp-block-button__link wp-element-button \" href=\"https:\/\/liora.io\/de\/unsere-aus-und-weiterbildungen\">wxPython lernen<\/a><\/div><\/div>\n\n<h3>Alternativen zu wxPython<\/h3>\nEs gibt andere <strong>GUI-L\u00f6sungen f\u00fcr Python, die als Alternative zu wxPython<\/strong> dienen k\u00f6nnen. Zun\u00e4chst einmal ist Tkinter die standardm\u00e4\u00dfige Standard-GUI f\u00fcr Python, die auf allen Plattformen verf\u00fcgbar ist, die Python und Tcl\/TK unterst\u00fctzen.\n\nEs ist n\u00e4mlich ein Wrapper f\u00fcr das Tk GUI-Toolkit von Tcl. Dieses Toolset ist vielseitig und kann f\u00fcr zahlreiche Anwendungsf\u00e4lle in einer Vielzahl von Umgebungen genutzt werden.\n\nDas Erstellen neuer Widgets ist recht einfach, ebenso wie ihre austauschbare Verwendung in Programmen. Tkinter erfordert jedoch die Verwendung von zwei separaten Interpretersprachen: den Python-Interpreter und den Tcl-Interpreter f\u00fcr die GUI.\n\nAu\u00dferdem ist Tcl haupts\u00e4chlich der Verarbeitung von Strings gewidmet und daher recht langsam. Tkinter schlie\u00dflich ist ein Low-Level-Toolkit, das viel Codierung f\u00fcr Aufgaben erfordert, die durch Abstraktion vereinfacht werden k\u00f6nnen.\n\nEine weitere Alternative zu wxPython ist PythonWin: ein Paket von Python-Add-ons f\u00fcr die Win32-Plattform. Es enth\u00e4lt Wrapper f\u00fcr MFC und f\u00fcr einen gro\u00dfen Teil der Win32-API. Programmierer, die mit MFC und der Win32-API vertraut sind, werden sich auf vertrautem Terrain bewegen.\n\nNat\u00fcrlich ist PythonWin nicht mit anderen Plattformen und Toolkits kompatibel. Es ist in separaten Paketen und Modulen organisiert, die bei Bedarf verwendet werden k\u00f6nnen, ohne die GUI-Anteile nutzen zu m\u00fcssen.\n\nEs gibt viele weitere <strong>GUI-Module<\/strong> f\u00fcr Python. Einige befinden sich in aktiver Entwicklung, andere wurden schon lange nicht mehr aktualisiert. Die meisten sind einfache Wrapper f\u00fcr Toolkits in C oder C++. Nur wenige von ihnen sind plattform\u00fcbergreifend. Die vollst\u00e4ndige Liste findest du auf der PyPi-Website.\n<h3>Fazit<\/h3>\n<strong>wxPython<\/strong> ist einer der verschiedenen Python-Wrapper f\u00fcr GUI-Toolsets in C und C++.\n\nUm zu lernen, wie man die Sprache Python und ihre Wrapper, Bibliotheken oder Module beherrscht, bist du bei Liora genau richtig.\n\nUnsere Kurse beinhalten ein Modul, das sich ausschlie\u00dflich mit der<strong> Programmierung in Python<\/strong> befasst, sowie andere Module, die sich mit Datenanalyse, <a href=\"https:\/\/liora.io\/de\/dataviz\">DataViz<\/a> oder Machine Learning besch\u00e4ftigen.\n\nIn den verschiedenen Kursen kannst du dir alle F\u00e4higkeiten aneignen, die du brauchst, um als<a href=\"https:\/\/liora.io\/de\/unsere-aus-und-weiterbildungen\"> Data Analyst, Data Engineer, Data Scientist, Machine Learning Engineer oder Data Product Manager<\/a> zu arbeiten.\n\nAlle unsere Programme k\u00f6nnen im Fernstudium \u00fcber das Internet absolviert werden, und unsere staatlich anerkannte Organisation ist f\u00fcr den Bildungsgutschein zur Finanzierung zugelassen. Entdecke Liora!\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\"><div class=\"wp-block-button \"><a class=\"wp-block-button__link wp-element-button \" href=\"https:\/\/liora.io\/de\/unsere-aus-und-weiterbildungen\">Entdecke unsere Weiterbildungen<\/a><\/div><\/div>\n\n\nDu wei\u00dft jetzt einiges \u00fcber wxPython. Weitere Informationen \u00fcber Python findest du in unseren Artikeln?:\n<table dir=\"ltr\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<colgroup>\n<col width=\"268\"><\/colgroup>\n<tbody>\n<tr>\n<td data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Imageio&quot;}\" data-sheets-hyperlink=\"https:\/\/liora.io\/de\/imageio-die-python-bibliothek-fuer-bilddaten\"><a href=\"https:\/\/liora.io\/de\/imageio-die-python-bibliothek-fuer-bilddaten\" target=\"_blank\" rel=\"noopener\">Imageio<\/a><\/td>\n<\/tr>\n<tr>\n<td data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Python f\u00fcr Dummies Teil 1&quot;}\" data-sheets-hyperlink=\"https:\/\/liora.io\/de\/python-programm-fuer-dummies-teil-1\"><a href=\"https:\/\/liora.io\/de\/python-programm-fuer-dummies-teil-1\" target=\"_blank\" rel=\"noopener\">Python f\u00fcr Dummies Teil 1<\/a><\/td>\n<\/tr>\n<tr>\n<td data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Python programmieren lernen&quot;}\" data-sheets-hyperlink=\"https:\/\/liora.io\/de\/python-programmieren\"><a href=\"https:\/\/liora.io\/de\/python-programmieren\" target=\"_blank\" rel=\"noopener\">Python programmieren lernen<\/a><\/td>\n<\/tr>\n<tr>\n<td data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Data Cleaning Python&quot;}\" data-sheets-hyperlink=\"https:\/\/liora.io\/de\/data-cleaning-python-programmierung-teil-3\"><a href=\"https:\/\/liora.io\/de\/data-cleaning-python-programmierung-teil-3\" target=\"_blank\" rel=\"noopener\">Data Cleaning Python<\/a><\/td>\n<\/tr>\n<tr>\n<td data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;PySpark - Alles wissenswerte&quot;}\" data-sheets-hyperlink=\"https:\/\/liora.io\/de\/pyspark-alles-wissenswerte-uber-die-python-bibliothek\"><a href=\"https:\/\/liora.io\/de\/pyspark-alles-wissenswerte-uber-die-python-bibliothek\" target=\"_blank\" rel=\"noopener\">PySpark &#8211; Alles wissenswerte<\/a><\/td>\n<\/tr>\n<tr>\n<td data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;Python - Vermeide diese Fehler&quot;}\" data-sheets-hyperlink=\"https:\/\/liora.io\/de\/python-fehler-diese-solltest-du-vermeiden\"><a href=\"https:\/\/liora.io\/de\/python-fehler-diese-solltest-du-vermeiden\" target=\"_blank\" rel=\"noopener\">Python &#8211; Vermeide diese Fehler<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>","protected":false},"excerpt":{"rendered":"<p>wxPython ist ein Python-Wrapper f\u00fcr das GUI-Toolset wxWidgets. Hier erf\u00e4hrst du alles, was du \u00fcber ihn wissen musst: Vorstellung, Funktionsweise, Vorteile, Alternativen, Schulungen&#8230; 1995 ben\u00f6tigte Robin Dunn eine plattform\u00fcbergreifende L\u00f6sung, eine Anwendung f\u00fcr eine grafische Benutzeroberfl\u00e4che (GUI), die sowohl auf HP-UX-Systemen als auch auf Windows 3.1 laufen konnte. Als er sich die vorhandenen freien und [&hellip;]<\/p>\n","protected":false},"author":76,"featured_media":176732,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_theme","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2476],"class_list":["post-176731","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-dev"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/176731","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/users\/76"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/comments?post=176731"}],"version-history":[{"count":1,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/176731\/revisions"}],"predecessor-version":[{"id":217522,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/176731\/revisions\/217522"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media\/176732"}],"wp:attachment":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media?parent=176731"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/categories?post=176731"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}