Login
Newsletter
Werbung

Di, 20. August 2019, 15:01

Software::Entwicklung

Ziele für Qt for Python vorgestellt

Nach der technischen Vision für Qt 6 wurde auch eine solche für Qt for Python, die korrespondierende Bibliothek zur Nutzung von Qt in Python, vorgestellt. Geplant ist unter anderem eine ganz neue, besser zu Python passende Schnittstelle, als Alternative zur bisherigen.

Qt Project

Qt for Python ermöglicht die Entwicklung grafischer Oberflächen mit Python und Qt. Die Bereitstellung einer so umfangreichen Bibliothek wie Qt in Python war in der Vergangenheit keine leichte Aufgabe. Vom Vorläufer PySide, der auf Qt 4.x beruhte, zu Qt for Python 5.12, der ersten stabilen Version mit Qt 5, verging viel Zeit, die nicht nur für die Anpassung und Erweiterung an Qt 5 benötigt wurde, sondern auch für die Entwicklung eines Werkzeugs, das Bindungen automatisch erzeugt. Der Übergang zu Qt 6, wie er jetzt im Qt-Blog beschrieben wird, soll dagegen deutlich anders werden, da Qt for Python jetzt parallel mit Qt entwickelt wird.

Die erste der geplanten Änderungen betrifft eine Namensgebung. Das Python-Modul trug den Namen Pyside2. Dessen Name soll künftig mit der Version von Qt korrespondieren und zu Pyside 6 geändert werden. Python 2 soll nicht mehr unterstützt werden, da auch von Seiten des Python-Projekts die Unterstützung für die alte Version Anfang 2020 entfallen soll. Dadurch wird für Qt for Python einiges leichter, glaubt das Qt-Projekt.

Anstatt das C++-API in ein Python-Modul zu packen, was sich für manche Programmierer seltsam anfühlt, sollen die Entwickler künftig auch die Möglichkeit haben, eine an der reinen Python-Lehre orientierte Schnittstelle zu nutzen. Die bisher separaten Varianten der Werkzeuge uic und rcc sollen entfallen, weil die notwendige Funktionalität direkt in die Qt-eigenen offiziellen uic und rcc integriert werden soll. Das soll bereits mit Qt for Python 5.14 erreicht werden.

Um das Leben der Python-Entwickler zu erleichtern und noch schnellere Entwicklung zu ermöglichen, soll eine Reihe von neuen Hilfsprogrammen und Widgets entstehen. Auch eine leichte Integration mit bekannten Python-Modulen wie NumPy und Pandas wird angestrebt.

Shiboken, die Komponente, die es ermöglicht, beliebige C++-Bibliotheken in Python-Code zu kapseln, muss zwangsläufig auf die gesamte neue Funktionalität erweitert werden, die Qt 6 bringen wird. Laut dem Projekt steigt die Zahl der Beitragenden aber stetig an, so dass eine verbesserte und stabilere Shiboken-Version nur eine Frage der Zeit ist.

Qt for Python ist bislang kompatibel mit PyQt, einer anderen Implementation, die Qt an Python bindet. Für die kommende Version könnte es allerdings dabei Einschränkungen geben, da die Entwickler planen, die Klasse QVariant dem ZUgriff zu entziehen. Weitere ausführliche Angaben zu den geplanten Änderungen findet man im Bugtracker von qt.io.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung