{"id":175618,"date":"2023-05-01T10:06:30","date_gmt":"2023-05-01T09:06:30","guid":{"rendered":"https:\/\/liora.io\/de\/?p=175618"},"modified":"2026-02-23T16:47:50","modified_gmt":"2026-02-23T15:47:50","slug":"pyqt-wie-funktioniert-der-wrapper-der-python-mit-gui-qt-verbindet","status":"publish","type":"post","link":"https:\/\/liora.io\/de\/pyqt-wie-funktioniert-der-wrapper-der-python-mit-gui-qt-verbindet","title":{"rendered":"PyQt: Wie funktioniert der Wrapper, der Python mit Gui Qt verbindet?"},"content":{"rendered":"\n<p><strong>PyQt erm\u00f6glicht die Verbindung von Python mit der Software zur Erstellung von grafischen Benutzeroberfl\u00e4chen Qt. Hier erf\u00e4hrst du alles, was du \u00fcber diese Kapselung wissen musst, wie sie funktioniert, welche Alternativen es gibt und wie du einen Kurs belegen kannst, um zu lernen, wie man sie benutzt!<\/strong><\/p>\n\n\n\n<p>Um eine grafische Benutzeroberfl\u00e4che f\u00fcr ihre Anwendungen zu erstellen, verwenden viele Entwickler die plattform\u00fcbergreifende <strong>Software Qt<\/strong>, die mit Linux, Windows, macOS oder auch Android kompatibel ist. Dieses Tool erm\u00f6glicht es, eine Anwendung auf mehrere Plattformen zu portieren, ohne die zugrunde liegende Codebasis \u00e4ndern zu m\u00fcssen, und dabei die Leistung einer nativen Anwendung beizubehalten.<\/p>\n\n\n\n<p>Um Qt f\u00fcr Anwendungen zu verwenden, die in Python entwickelt wurden, muss die Software mit der Programmiersprache verbunden werden. Dies ist die Rolle von <strong>PyQt.<\/strong><\/p>\n\n\n\n<p>&gt;&gt; Auch interessant: <a href=\"https:\/\/liora.io\/de\/top-10-der-python-bibliotheken-fur-data-scientists\">Python Bibliothek Top 10<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-was-ist-pyqt\">Was ist PyQt ?<\/h2>\n\n\n\n<p>PyQt wurde 1998 von der britischen Firma Riverbank Computing entwickelt und ist ein Modul f\u00fcr die grafische Benutzeroberfl\u00e4che (GUI). Es erm\u00f6glicht die Verbindung des plattform\u00fcbergreifenden <a href=\"\/\">C++-Frameworks<\/a> Qt mit der <strong>Programmiersprache Python<\/strong>. Qt ist mehr als nur ein GUI-Toolkit, es enth\u00e4lt auch Abstraktionen von Netzwerk-Sockets und Threads. Au\u00dferdem gibt es Unterst\u00fctzung f\u00fcr Unicode, <a href=\"https:\/\/liora.io\/de\/sql-datei-oeffnen-unser-tutorial\">SQL<\/a>, SVG, OpenGL, XML, ein Service-Service-System und zahlreiche Widgets. Insgesamt implementiert PyQt etwa 440 Klassen und \u00fcber 6000 Funktionen und Methoden.<\/p>\n\n\n\n<p>Die Funktionsweise einer <strong>Qt-Klasse<\/strong> beruht auf einem Prinzip, das mit einem Mechanismus verbunden ist, der f\u00fcr die Kommunikation zwischen den Elementen verantwortlich ist, um leichter wiederverwendbare Softwarekomponenten zu entwerfen. Qt wird vom Qt Designer begleitet, der als grafische Benutzeroberfl\u00e4che dient. Das <strong>PyQt-Modul<\/strong> kann Python-Code aus Qt Designer entwerfen und neue GUI-Steuerelemente hinzuf\u00fcgen, wenn sowohl Qt Designer als auch die Programmiersprache Python verwendet werden. Wie Qt ist auch PyQt freie Software unter verschiedenen Lizenzen, darunter die <strong>GNU General Public Licence (GPL)<\/strong>. Sie ist kompatibel mit Microsoft Windows, <a href=\"https:\/\/liora.io\/de\/unix-alles-ueber-den-pionier-unter-den-server-betriebssystemen\">UNIX<\/a>, <a href=\"https:\/\/liora.io\/de\/linux-betriebssystem-warum-ist-es-das-beliebteste-os-fuer-entwickler\">Linux<\/a> und <a href=\"https:\/\/liora.io\/de\/tensorflow-installieren-mit-anaconda-auf-macos\">macOS<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/05\/open-source-gc36fd33b9_640.jpg\" alt=\"\" style=\"width:1000px;height:auto\" \/><\/figure>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/de\/weiterbildung\">Python lernen<\/a><\/div>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"die-pyqt-klassen\">Die PyQt Klassen<\/h2>\n\n\n\n<p>Die PyQt-Klassen sind in verschiedenen Modulen zusammengefasst. Zun\u00e4chst fasst QtCore die grundlegenden, nicht GUI-bezogenen Funktionen zusammen, die f\u00fcr Elemente wie Zeit, Dateien, Directories, verschiedene Datentypen, Threads oder Prozesse verwendet werden. Das QtGui fasst die grafischen Komponenten und die damit verbundenen Klassen zusammen, darunter Schaltfl\u00e4chen, Fenster, Statusleisten, Bitmaps, Farben oder Schriftarten.<\/p>\n\n\n\n<p>Das QtNetwork-Modul ist f\u00fcr die Netzwerkprogrammierung gedacht und vereinfacht die Kodierung von TCP\/IP- und UDP-Servern oder -Clients. QtXml dient der Arbeit mit XML-Dateien und erm\u00f6glicht die Implementierung der <strong>SAX- und DOM-APIs.<\/strong> <strong>QtSvg<\/strong> umfasst die Klassen, die den Inhalt von SVG-Dateien aufdecken. Zur Erinnerung: SVG ist eine Sprache, die dazu dient, zweidimensionale Grafiken oder grafische Anwendungen in XML zu beschreiben.<\/p>\n\n\n\n<p>Um 2D- oder 3D-Grafiken \u00fcber die Bibliothek zu rendern, wird QtOpenGL verwendet. Schlie\u00dflich bietet <strong>QtSQL die M\u00f6glichkeit, mit <a href=\"https:\/\/liora.io\/de\/no-sql-nicht-relationale-datenbanken\">Datenbanken<\/a> zu arbeiten.<\/strong><\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"was-ist-pyqt-qlineedit\">Was ist PyQt QLineEdit ?<\/h2>\n\n\n\n<p>Die Klasse <strong>QLineEdit<\/strong> ist eine Textbox zur Eingabe einer einzelnen Codezeile. Sie erm\u00f6glicht es den Benutzern, einzelne Zeilen reinen Textes einzugeben und zu bearbeiten. Dar\u00fcber hinaus werden neue n\u00fctzliche Bearbeitungsfunktionen angeboten. Dazu geh\u00f6ren R\u00fcckg\u00e4ngig machen und Wiederholen, Kopieren und Einf\u00fcgen oder Drag &amp; Drop.<\/p>\n\n\n\n<p>Durch \u00c4nderung des echoMode() der Texteingabebox kann diese auch als <strong>Nur-Schreib-Feld<\/strong> f\u00fcr die Eingabe von Passw\u00f6rtern oder anderen Elementen eingerichtet werden. Die Textgr\u00f6\u00dfe kann mithilfe des Parameters maxLength() begrenzt werden.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"was-ist-der-qt-designer\">Was ist der QT Designer ?<\/h2>\n\n\n\n<p>Der QT Designer ist ein GUI-Builder, der direkt in PyQT integriert ist. Er vereinfacht das Design und die Erstellung von GUIs.<\/p>\n\n\n\n<p>Man kann eine <strong>GUI mit dem QT Designer<\/strong> entwerfen und dann ihre Logik mit PyQT programmieren. Dies beschleunigt die Entwicklung und ist ein Vorteil gegen\u00fcber Alternativen wie Tkinter.<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/05\/designer-multiple-screenshot.png\" alt=\"\" style=\"width:1000px;height:auto\" \/><\/figure>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/de\/weiterbildung\">Data Science Weiterbildungen<\/a><\/div>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"welche-anwendungen-verwenden-pyqt\">Welche Anwendungen verwenden PyQt ?<\/h2>\n\n\n\n<p>PyQt wird h\u00e4ufig f\u00fcr die Erstellung von gro\u00dfen, GUI-basierten Programmen verwendet. Es erm\u00f6glicht Entwicklern, GUIs frei zu erstellen, und bietet gleichzeitig eine gro\u00dfe Auswahl an vorgefertigten Designs.<\/p>\n\n\n\n<p>Viele bekannte Anwendungen nutzen<strong> PyQT,<\/strong> darunter der Filehosting-Dienst Dropbox. Weitere Beispiele sind die E-Book-Verwaltungsplattform Calibre und das Videobearbeitungsprogramm OpenShot. Auch die<strong> IDEs Eric Python, Spyder und Ninja-IDE<\/strong> sowie die Entwicklungswerkzeuge Kodos, Leo, Puddletag, TortoiseHg oder GNS3 verwenden PyQT.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"alternativen-zu-pyqt\">Alternativen zu PyQt<\/h2>\n\n\n\n<p>Es gibt mehrere Alternativen zu <strong>PyQt.<\/strong> Im August 2009 besa\u00df Nokia den Entwickler Qt Software und konnte sich mit Riverbank Computing nicht darauf einigen, PyQt unter der <strong>LGPL-Lizenz (Lesser General Public Licence)<\/strong> anzubieten. Infolgedessen hat die finnische Firma ihr eigenes PySide-Modul mit \u00e4hnlichen Funktionen herausgebracht.<\/p>\n\n\n\n<p>Dar\u00fcber hinaus ist Qt nicht das einzige Framework zur Erstellung von grafischen Benutzeroberfl\u00e4chen. Eine seiner wichtigsten Alternativen ist GTK, und seine Python-Kapsel ist PyGTK. Ebenso fungiert <strong>wxPython als Python-Wrapper f\u00fcr die wx-Widgetsammlung.<\/strong><\/p>\n\n\n\n<p>Standardm\u00e4\u00dfig ist die Standard-GUI von Python Tkinter, die Python mit dem Tk-GUI-Toolkit verbindet. Daher ist Tkinter in den Standardinstallationen von Linux, Windows und macOS enthalten.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"fazit-pyqt-ein-ideales-werkzeug-zur-erstellung-von-guis-in-python\">Fazit: PyQt, ein ideales Werkzeug zur Erstellung von GUIs in Python<\/h2>\n\n\n\n<p><strong>PyQt<\/strong> ist neben dem <a href=\"https:\/\/www.pythonguis.com\/pyside6\/\">von Nokia entwickelten PySide<\/a> einer der wichtigsten Wrapper, um Python und Qt miteinander zu verbinden. Es erm\u00f6glicht dir, alle Klassen und Funktionen von Qt \u00fcber die Programmiersprache zu nutzen. Um zu lernen, wie man PyQt und Python benutzt, kannst du Liora w\u00e4hlen. Alle unsere Schulungen f\u00fcr Berufe im Bereich Data Science beinhalten ein Modul, das <strong>Python und seinen Data-Science-Bibliotheken<\/strong> gewidmet ist.<\/p>\n\n\n\n<p>Unsere verschiedenen Programme vermitteln dir das n\u00f6tige Fachwissen, 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 zu arbeiten<\/a>. Du kannst alle diese Kurse im Fernstudium \u00fcber das Internet absolvieren, und unsere staatlich anerkannte Organisation kommt f\u00fcr die Finanzierung \u00fcber den Bildungsgutschein Frage. <strong>Entdecke jetzt Liora!<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/05\/2023-05-01-11_13_58-Weiterbildung-Data-Scientist-Intensivkurs-oder-berufsbegleitend-\u2014-Mozilla-Fire.png\" alt=\"datascience\" \/><\/figure>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/de\/weiterbildung\">Mehr \u00fcber die Liora Weiterbildungen<\/a><\/div>\n<\/div>\n\n\n\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Was ist PyQt ?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"PyQt ist ein GUI-Modul (1998 von Riverbank Computing entwickelt), das das C++-Framework Qt mit Python verbindet. Qt bietet Netzwerk-Sockets, Threads, Unicode, SQL, SVG, OpenGL, XML, Widgets u.v.m. PyQt implementiert etwa 440 Klassen und \u00fcber 6000 Funktionen\/Methoden. Es arbeitet mit Qt Designer (grafische GUI-Erstellung) zusammen, ist Open-Source (GPL) und kompatibel mit Windows, UNIX, Linux, macOS.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Die PyQt Klassen\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"PyQt-Klassen sind in Modulen organisiert: QtCore (grundlegende Nicht-GUI-Funktionen: Zeit, Dateien, Threads), QtGui (grafische Komponenten: Buttons, Fenster, Bitmaps), QtNetwork (Netzwerkprogrammierung: TCP\/IP, UDP), QtXml (XML-Dateien: SAX\/DOM-APIs), QtSvg (SVG-Dateien), QtOpenGL (2D\/3D-Grafiken), QtSQL (Datenbankarbeit).\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Was ist PyQt QLineEdit ?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"QLineEdit ist eine Textbox f\u00fcr einzelne Codezeilen mit Bearbeitungsfunktionen (R\u00fcckg\u00e4ngig\/Wiederholen, Kopieren\/Einf\u00fcgen, Drag &amp; Drop). Durch echoMode() kann sie als Nur-Schreib-Feld f\u00fcr Passw\u00f6rter konfiguriert werden. Die Textgr\u00f6\u00dfe wird mit maxLength() begrenzt.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Was ist der QT Designer ?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"QT Designer ist ein in PyQt integrierter GUI-Builder. Er erm\u00f6glicht visuelles GUI-Design und anschlie\u00dfende Programmierung der Logik mit PyQt \u2013 beschleunigt die Entwicklung und ist vorteilhaft gegen\u00fcber Alternativen wie Tkinter.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Welche Anwendungen verwenden PyQt ?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Bekannte PyQt-Anwendungen: Dropbox, Calibre (E-Book-Management), OpenShot (Videobearbeitung), IDEs (Eric Python, Spyder, Ninja-IDE), Entwicklungswerkzeuge (Kodos, Leo, Puddletag, TortoiseHg, GNS3).\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Alternativen zu PyQt\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Hauptalternativen: PySide (Nokias eigenes Modul, entstanden aus Lizenzkonflikt 2009), PyGTK (Python-Wrapper f\u00fcr GTK-Framework), wxPython (Wrapper f\u00fcr wx-Widgetsammlung), Tkinter (Standard-GUI von Python, in Standardinstallationen enthalten).\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Fazit: PyQt, ein ideales Werkzeug zur Erstellung von GUIs in Python\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"PyQt (neben PySide) ist einer der wichtigsten Wrapper f\u00fcr Python und Qt und erm\u00f6glicht die Nutzung aller Qt-Klassen\/Funktionen. Liora bietet Data-Science-Kurse mit Python-Modul an f\u00fcr Berufe wie Data Analyst, Data Engineer, Data Scientist. Fernkurse \u00fcber Bildungsgutschein finanzierbar.\"\n      }\n    }\n  ]\n}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>PyQt erm\u00f6glicht die Verbindung von Python mit der Software zur Erstellung von grafischen Benutzeroberfl\u00e4chen Qt. Hier erf\u00e4hrst du alles, was du \u00fcber diese Kapselung wissen musst, wie sie funktioniert, welche Alternativen es gibt und wie du einen Kurs belegen kannst, um zu lernen, wie man sie benutzt! Um eine grafische Benutzeroberfl\u00e4che f\u00fcr ihre Anwendungen zu [&hellip;]<\/p>\n","protected":false},"author":82,"featured_media":175619,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2476],"class_list":["post-175618","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\/175618","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\/82"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/comments?post=175618"}],"version-history":[{"count":4,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/175618\/revisions"}],"predecessor-version":[{"id":219524,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/175618\/revisions\/219524"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media\/175619"}],"wp:attachment":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media?parent=175618"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/categories?post=175618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}