De release van Dear PyGui 1.0.0 (DPG) is gepubliceerd, een cross-platform toolkit voor het ontwikkelen van grafische gebruikersinterfaces in Python. De belangrijkste functie van het project is het gebruik van multithreading en het verplaatsen van bewerkingen naar de GPU om de rendering te versnellen. Het belangrijkste doel van de release 1.0.0 is het stabiliseren van de API. Incompatibele wijzigingen worden nu aangeboden in een aparte module 'experimental'.
Om een hoge prestatie te garanderen, is het grootste deel van de code van DearPyGui geschreven in C++ met behulp van de Dear ImGui-bibliotheek, die door dezelfde auteurs is ontwikkeld en gericht is op het creƫren van grafische toepassingen in C++ en een fundamenteel ander werkmodel biedt. De broncode van Dear PyGui wordt verspreid onder de MIT-licentie. Ondersteuning voor de platforms Linux, Windows 10 en macOS is opgegeven.
De toolkit is geschikt voor zowel het snel creƫren van eenvoudige interfaces als voor het ontwikkelen van complexe gespecialiseerde GUI's voor games, wetenschappelijke en technische toepassingen waarbij hoge responsiviteit en interactiviteit vereist zijn. Applicatieontwikkelaars krijgen een eenvoudige API en een set kant-en-klare traditionele elementen, zoals knoppen, schuifregelaars, schakelaars, menu's, tekstvelden, het weergeven van afbeeldingen en verschillende methoden voor de lay-out van vensterelementen. Een van de uitgebreide mogelijkheden is de ondersteuning voor het genereren van diagrammen, grafieken en tabellen.

Bovendien zijn er een aantal resource viewers beschikbaar, een node editor, een thema-inspectie systeem en elementen voor arbitraire rendering, die geschikt zijn voor het creƫren van 2D-games. Om de ontwikkeling te vereenvoudigen, worden verschillende hulpmiddelen meegeleverd, waaronder een debugger, een code-editor, een documentatieviewer en een logviewer.
Dear PyGui implementeert een typisch abstracte API-werkwijze die gebruikelijk is voor GUI-bibliotheken (Retained mode), maar dit is geĆÆmplementeerd bovenop de Dear ImGui-bibliotheek, die in de IMGUI-modus (Immediate mode GUI) werkt. De Retained-modus houdt in dat de bibliotheek de verantwoordelijkheid voor het opbouwen van de scĆØne op zich neemt, terwijl in de Immediate-modus het visualisatiemodel aan de clientzijde wordt verwerkt en de grafische bibliotheek alleen wordt gebruikt voor de uiteindelijke output, dat wil zeggen dat de applicatie elke keer tekenopdrachten voor alle interface-elementen afgeeft om een nieuwe frame te vormen.
In DearPyGui worden de door het systeem geleverde native widgets niet gebruikt; in plaats daarvan worden eigen widgets getekend via aanroepen naar de grafische API's OpenGL, OpenGL ES, Metal en DirectX 11, afhankelijk van het huidige besturingssysteem. In totaal zijn er meer dan 70 kant-en-klare widgets beschikbaar.



Bron: opennet.ru
