Du hast Fragen? Wir haben Antworten! - Bald findet unser nächster Tag der offenen Tür statt!

Logo site

PyQt: Wie funktioniert der Wrapper, der Python mit Gui Qt verbindet?

-
3
 Minuten Lesezeit
-
pyqt

PyQt ermöglicht die Verbindung von Python mit der Software zur Erstellung von grafischen Benutzeroberflächen Qt. Hier erfährst du alles, was du über 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äche für ihre Anwendungen zu erstellen, verwenden viele Entwickler die plattformübergreifende Software Qt, die mit Linux, Windows, macOS oder auch Android kompatibel ist.

Dieses Tool ermöglicht es, eine Anwendung auf mehrere Plattformen zu portieren, ohne die zugrunde liegende Codebasis ändern zu müssen, und dabei die Leistung einer nativen Anwendung beizubehalten.

Um Qt für Anwendungen zu verwenden, die in Python entwickelt wurden, muss die Software mit der Programmiersprache verbunden werden. Dies ist die Rolle von PyQt.

>> Auch interessant: Python Bibliothek Top 10

Was ist PyQt ?

PyQt wurde 1998 von der britischen Firma Riverbank Computing entwickelt und ist ein Modul für die grafische Benutzeroberfläche (GUI). Es ermöglicht die Verbindung des plattformübergreifenden C++-Frameworks Qt mit der Programmiersprache Python.

Qt ist mehr als nur ein GUI-Toolkit, es enthält auch Abstraktionen von Netzwerk-Sockets und Threads. Außerdem gibt es Unterstützung für Unicode, SQL, SVG, OpenGL, XML, ein Service-Service-System und zahlreiche Widgets. Insgesamt implementiert PyQt etwa 440 Klassen und über 6000 Funktionen und Methoden.

Die Funktionsweise einer Qt-Klasse beruht auf einem Prinzip, das mit einem Mechanismus verbunden ist, der für die Kommunikation zwischen den Elementen verantwortlich ist, um leichter wiederverwendbare Softwarekomponenten zu entwerfen.

Qt wird vom Qt Designer begleitet, der als grafische Benutzeroberfläche dient. Das PyQt-Modul kann Python-Code aus Qt Designer entwerfen und neue GUI-Steuerelemente hinzufügen, wenn sowohl Qt Designer als auch die Programmiersprache Python verwendet werden.

Wie Qt ist auch PyQt freie Software unter verschiedenen Lizenzen, darunter die GNU General Public Licence (GPL). Sie ist kompatibel mit Microsoft Windows, UNIX, Linux und macOS.

Die PyQt Klassen

Die PyQt-Klassen sind in verschiedenen Modulen zusammengefasst. Zunächst fasst QtCore die grundlegenden, nicht GUI-bezogenen Funktionen zusammen, die für 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ächen, Fenster, Statusleisten, Bitmaps, Farben oder Schriftarten.

Das QtNetwork-Modul ist für die Netzwerkprogrammierung gedacht und vereinfacht die Kodierung von TCP/IP- und UDP-Servern oder -Clients. QtXml dient der Arbeit mit XML-Dateien und ermöglicht die Implementierung der SAX- und DOM-APIs.

QtSvg 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.

Um 2D- oder 3D-Grafiken über die Bibliothek zu rendern, wird QtOpenGL verwendet. Schließlich bietet QtSQL die Möglichkeit, mit Datenbanken zu arbeiten.

Was ist PyQt QLineEdit ?

Die Klasse QLineEdit ist eine Textbox zur Eingabe einer einzelnen Codezeile. Sie ermöglicht es den Benutzern, einzelne Zeilen reinen Textes einzugeben und zu bearbeiten.

Darüber hinaus werden neue nützliche Bearbeitungsfunktionen angeboten. Dazu gehören Rückgängig machen und Wiederholen, Kopieren und Einfügen oder Drag & Drop.

Durch Änderung des echoMode() der Texteingabebox kann diese auch als Nur-Schreib-Feld für die Eingabe von Passwörtern oder anderen Elementen eingerichtet werden. Die Textgröße kann mithilfe des Parameters maxLength() begrenzt werden.

Was ist der QT Designer ?

Der QT Designer ist ein GUI-Builder, der direkt in PyQT integriert ist. Er vereinfacht das Design und die Erstellung von GUIs.

Man kann eine GUI mit dem QT Designer entwerfen und dann ihre Logik mit PyQT programmieren. Dies beschleunigt die Entwicklung und ist ein Vorteil gegenüber Alternativen wie Tkinter.

Welche Anwendungen verwenden PyQt ?

PyQt wird häufig für die Erstellung von großen, GUI-basierten Programmen verwendet. Es ermöglicht Entwicklern, GUIs frei zu erstellen, und bietet gleichzeitig eine große Auswahl an vorgefertigten Designs.

Viele bekannte Anwendungen nutzen PyQT, darunter der Filehosting-Dienst Dropbox. Weitere Beispiele sind die E-Book-Verwaltungsplattform Calibre und das Videobearbeitungsprogramm OpenShot.

Auch die IDEs Eric Python, Spyder und Ninja-IDE sowie die Entwicklungswerkzeuge Kodos, Leo, Puddletag, TortoiseHg oder GNS3 verwenden PyQT.

Alternativen zu PyQt

Es gibt mehrere Alternativen zu PyQt. Im August 2009 besaß Nokia den Entwickler Qt Software und konnte sich mit Riverbank Computing nicht darauf einigen, PyQt unter der LGPL-Lizenz (Lesser General Public Licence) anzubieten.

Infolgedessen hat die finnische Firma ihr eigenes PySide-Modul mit ähnlichen Funktionen herausgebracht.

Darüber hinaus ist Qt nicht das einzige Framework zur Erstellung von grafischen Benutzeroberflächen. Eine seiner wichtigsten Alternativen ist GTK, und seine Python-Kapsel ist PyGTK. Ebenso fungiert wxPython als Python-Wrapper für die wx-Widgetsammlung.

Standardmäßig 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.

Fazit: PyQt, ein ideales Werkzeug zur Erstellung von GUIs in Python

PyQt ist neben dem von Nokia entwickelten PySide einer der wichtigsten Wrapper, um Python und Qt miteinander zu verbinden. Es ermöglicht dir, alle Klassen und Funktionen von Qt über die Programmiersprache zu nutzen.

Um zu lernen, wie man PyQt und Python benutzt, kannst du DataScientest wählen. Alle unsere Schulungen für Berufe im Bereich Data Science beinhalten ein Modul, das Python und seinen Data-Science-Bibliotheken gewidmet ist.

Unsere verschiedenen Programme vermitteln dir das nötige Fachwissen, um als Data Analyst, Data Engineer, Data Scientist, Machine Learning Engineer oder Data Product Manager zu arbeiten.

Du kannst alle diese Kurse im Fernstudium über das Internet absolvieren, und unsere staatlich anerkannte Organisation kommt für die Finanzierung über den Bildungsgutschein Frage. Entdecke jetzt DataScientest!

datascience

DataScientest News

Melde Dich jetzt für unseren Newsletter an, um unsere Guides, Tutorials und die neuesten Entwicklungen im Bereich Data Science direkt per E-Mail zu erhalten.

Möchtest Du informiert bleiben?

Schreib uns Deine E-Mail-Adresse, damit wir Dir die neuesten Artikel zum Zeitpunkt der Veröffentlichung zusenden können!
icon newsletter

DataNews

Starte Deine Karriere im Bereich Data: Erhalte regelmäßig Insiderwissen und wertvolle Karrieretipps in Deinem Posteingang.