de release van het cross-platform framework . De originele teksten van de Qt-componenten worden geleverd onder de LGPLv3- en GPLv2-licenties. In december zal een nieuwe tak van Qt 6 worden uitgebracht, waarin significante architecturale veranderingen. Om de toekomstige overgang naar de tak Qt 6 te vergemakkelijken, zijn in Qt 5.15 voorlopige implementaties van enkele innovaties opgenomen en zijn waarschuwingen toegevoegd over de naderende beƫindiging van de ondersteuning voor functionaliteit die gepland staat voor verwijdering in Qt 6.
Qt 5.15 is geclassificeerd als een release met langdurige ondersteuning (LTS). Voor de gemeenschap zullen updates voor de tak 5.15 tot er een volgende belangrijke release ontstaat, dat wil zeggen ongeveer zes maanden. De uitgebreide LTS-cyclus, die het mogelijk maakt om updates gedurende drie jaar te creĆ«ren, is beperkt tot gebruikers met een commerciĆ«le licentie (voor reguliere bedrijven ā $5508 per jaar per ontwikkelaar, en voor startups en kleine bedrijven ā $499 per jaar). Qt Company heeft ook om over te stappen op een distributiemodel voor Qt, waarbij alle releases in de eerste 12 maanden alleen beschikbaar zouden zijn voor gebruikers van commerciĆ«le licenties. Maar voorlopig is dit idee niet verder gekomen dan discussie.
Belangrijkste :
- De ontwikkeling van een geabstraheerde grafische API, die onafhankelijk is van de 3D API van het besturingssysteem, is voortgezet. Een sleutelelement van de nieuwe grafische stack van Qt is de scĆØne-rendering engine, die gebruik maakt van een RHI (Rendering Hardware Interface)-laag om ervoor te zorgen dat Qt Quick-applicaties niet alleen met OpenGL, maar ook bovenop de Vulkan-, Metal- en Direct 3D-APIs werken. In 5.15 wordt de nieuwe grafische stack aangeboden als een optie met de status 'Technology Preview'.
- Volledige ondersteuning van de module , waarbij het kenmerk van experimentele ontwikkeling is verwijderd. Qt Quick 3D biedt een uniforme API voor het creëren van gebruikersinterfaces op basis van Qt Quick, die elementen van 2D- en 3D-graphics combineren. De nieuwe API maakt het mogelijk om QML te gebruiken voor het definiëren van 3D-elementen in interfaces zonder gebruik te maken van het UIP-formaat. In Qt Quick 3D kunnen 2D- en 3D-elementen worden uitgevoerd met één runtime (Qt Quick), één scène-indeling en één animatieraamwerk, terwijl Qt Design Studio kan worden toegepast voor visuele interface-ontwikkeling. De module lost problemen op zoals de hoge overhead bij het integreren van QML met inhoud uit Qt 3D of 3D Studio en biedt de mogelijkheid om animaties en transformaties op frame-niveau tussen 2D en 3D te synchroniseren.
Van de nieuwe mogelijkheden die aan Qt Quick 3D zijn toegevoegd, wordt de ondersteuning voor post-processing effecten, de C++ API voor geometriebeheer, de API voor rotatie op basis van de QQuaternion-klasse en de ondersteuning voor puntlichtbronnen genoemd. Voor de evaluatie van verschillende mogelijkheden van Qt Quick 3D is er een speciaal demonstratie-applicatie beschikbaar, die laat zien hoe verschillende types en lichtbronnen kunnen worden gewijzigd, complexe modellen kunnen worden gebruikt, en hoe men kan manipuleren met texturen, materialen en anti-aliasing. Tegelijkertijd lancering voor het ontwerpen van gebruikersinterfaces is er Qt Design Studio 1.5, dat volledige ondersteuning voor Qt Quick 3D biedt.

- In Qt QML is er gewerkt aan op de voorbereiding voor Qt 6. De mogelijkheid is geĆÆmplementeerd om in componenten 'vereiste' eigenschappen toe te passen, waarvan de instelling verplicht is. In de tool qmllint is de vorming van waarschuwingen over mogelijke problemen in QML-code verbeterd. De tool qmlformat is toegevoegd, die het formatteren van QML-code vergemakkelijkt volgens de stijlrichtlijnen. Compatibiliteit van QML met de Qt-editie voor .
- In Qt Quick is ondersteuning voor kleurenschema's toegevoegd aan het element Image. In Qt Quick Shapes is een nieuw element PathText toegevoegd.
In de muisaanwijzer is de eigenschap cursorShape toegevoegd, waarmee de vorm van de muiscursor op desktop systemen kan worden gewijzigd. Het element HeaderView is toegevoegd om het toevoegen van verticale en horizontale koppen in tabellen op basis van TableView te vergemakkelijken. - De ondersteuning voor client-side windowdecoratie (CSD) is aanzienlijk verbeterd, waardoor de applicatie zijn eigen windowdecoratie-elementen kan bepalen en willekeurige inhoud in de venstertitel kan plaatsen.
- De module is gestabiliseerd , die een uitgebreide API voor QML biedt, waarmee grafieken en animaties kunnen worden weergegeven die in JSON-formaat zijn geƫxporteerd met behulp van de Bodymovin-plugin voor Adobe After Effects. Met QtLottie kan een ontwerper animatie-effecten voorbereiden in een applicatie naar keuze, terwijl de ontwikkelaar de geƫxporteerde bestanden rechtstreeks kan koppelen aan de gebruikersinterface van applicaties met QtQuick. QtLottie bevat een ingebouwde micro-engine voor het uitvoeren van animaties, het bijsnijden, het verwerken van lagen en andere effecten. De engine is toegankelijk via het QML-element LottieAnimation, dat kan worden beheerd vanuit QML-code, net als andere QtQuick-elementen.
- De browserengine Qt WebEngine is bijgewerkt naar de codebasis (in tak 5.14 werd Chromium 77 gebruikt, de actuele versie is ).
- In de module Qt 3D zijn de profilerings- en debugtools verbeterd.
- In Qt Multimedia is ondersteuning toegevoegd voor het weergeven op meerdere oppervlakken.
- In Qt GUI worden schaling- en afbeeldingsverwerkingsbewerkingen nu in veel gevallen multi-threaded uitgevoerd.
- In Qt Network is ondersteuning toegevoegd voor aanpasbare time-outs en in TLS 1.3 (Session Ticket, waardoor sessies kunnen worden hersteld zonder status op de server te behouden).
- De mogelijkheid is geboden om Qt Core, QRunnable en QThreadPool te laten werken met std::function. Een nieuwe methode QFile::moveToTrash() is toegevoegd voor het verplaatsen van elementen naar de prullenbak, rekening houdend met de specificiteiten van verschillende platforms.
- In Qt voor Android is ondersteuning toegevoegd voor native dialogen voor het openen en opslaan van bestanden.
Bron: opennet.ru

