Die Ausgabe von Dear PyGui 1.0.0 (DPG), einem plattformübergreifenden Toolkit zur Entwicklung von Benutzeroberflächen in Python, wurde veröffentlicht. Ein wesentliches Merkmal des Projekts ist die Verwendung von Multithreading und die Auslagerung von Operationen auf die GPU zur Beschleunigung der Rendering-Leistung. Das Hauptziel der Version 1.0.0 besteht darin, die API zu stabilisieren. Kompatibilitätsbrechende Änderungen werden nun in einem separaten „experimental“-Modul angeboten.
Um hohe Leistung zu gewährleisten, ist der Großteil des Codes von DearPyGui in C++ unter Verwendung der von denselben Autoren entwickelten Dear ImGui-Bibliothek geschrieben, die für die Erstellung von grafischen Anwendungen in C++ konzipiert ist und ein grundsätzlich anderes Arbeitsmodell bietet. Der Quellcode von Dear PyGui wird unter der MIT-Lizenz verteilt. Unterstützte Plattformen sind Linux, Windows 10 und macOS.
Das Toolkit eignet sich sowohl für die schnelle Erstellung einfacher Schnittstellen als auch für die Entwicklung komplexer spezialisierter GUI für Spiele, wissenschaftliche und technische Anwendungen, in denen hohe Reaktionsgeschwindigkeit und Interaktivität erforderlich sind. Entwicklern werden eine einfache API und eine Sammlung von traditionellen Steuerelementen, wie Schaltflächen, Schieberegler, Umschalter, Menüs, Textformulare, Bildanzeige und verschiedene Methoden zur Anordnung von Fensterelementen angeboten. Zu den erweiterten Funktionen gehört die Unterstützung für die Erstellung von Diagrammen, Grafiken und Tabellen.

Zusätzlich stehen Sammlung von Ressourcenbetrachtern, ein Editor für Knotenschnittstellen, ein System zur Inspektion von Themen und Elemente für benutzerdefinierte Zeichnungen zur Verfügung, die sich für die Erstellung von 2D-Spielen eignen. Um die Entwicklung zu erleichtern, werden mehrere Werkzeuge mitgeliefert, darunter ein Debugger, ein Code-Editor, ein Dokumentationsbetrachter und ein Log-Viewer.
Dear PyGui implementiert den typischen abstrakten API-Betriebsmodus von GUI-Bibliotheken (Retained mode), der jedoch über der Dear ImGui-Bibliothek ausgeführt wird, die im IMGUI-Modus (Immediate mode GUI) arbeitet. Der Retained-Modus bedeutet, dass die Bibliothek für die Aufgaben der Szenenbildung verantwortlich ist, während im Immediate-Modus das Visualisierungsmodell auf der Clientseite verarbeitet wird und die grafische Bibliothek nur für die endgültige Ausgabe verwendet wird, d.h. die Anwendung gibt bei jedem Renderzyklus die Befehle zur Darstellung aller Interface-Elemente zur Erstellung eines neuen fertigen Frames aus.
In DearPyGui werden keine nativen Widgets des Systems verwendet, sondern eigene Widgets werden durch den Zugriff auf die Grafik-APIs OpenGL, OpenGL ES, Metal und DirectX 11 gezeichnet, abhängig vom aktuellen Betriebssystem. Insgesamt stehen mehr als 70 fertige Widgets zur Verfügung.



Quelle: opennet.ru
