Qt 5.15 framework-release

Geïntroduceerd release van een platformonafhankelijk raamwerk Qt 5.15. De broncode voor Qt-componenten wordt geleverd onder de LGPLv3- en GPLv2-licenties. In december verschijnt een nieuwe tak van Qt 6, waarin verwacht belangrijke architectonische veranderingen. Om de toekomstige overgang naar de Qt 6-tak te vergemakkelijken, bevat Qt 5.15 preview-implementaties van enkele nieuwe functies en toegevoegde waarschuwingen over de aanstaande beëindiging van functionaliteit die gepland staat voor verwijdering in Qt 6.

Qt 5.15 is geclassificeerd als een Long Term Support (LTS) release. Tegelijkertijd zijn er voor de community updates naar branch 5.15 zal gepubliceerd worden alleen totdat het volgende belangrijke probleem wordt gevormd, d.w.z. ongeveer zes maanden. De verlengde LTS-cyclus, waarbij updates over een periode van drie jaar worden gegenereerd, zal beperkt zijn tot gebruikers met een commerciële licentie ($5508 per jaar per ontwikkelaar voor reguliere bedrijven, en $499 per jaar voor startups en kleine bedrijven). De Qt Company ook beschouwd de mogelijkheid om over te schakelen naar het Qt-distributiemodel, waarbij alle releases voor de eerste 12 maanden alleen worden gedistribueerd onder gebruikers van commerciële licenties. Maar tot nu toe is dit idee niet verder gegaan dan discussie.

De belangrijkste innovaties in Qt 5.15:

  • Er werd verder gewerkt aan het creëren van een geabstraheerde grafische API die niet afhankelijk is van de 3D API van het besturingssysteem. Een belangrijk onderdeel van de nieuwe grafische stapel van Qt is de engine voor het renderen van scènes, die de RHI-laag (Rendering Hardware Interface) gebruikt om Qt Quick-toepassingen aan te drijven, niet alleen met OpenGL, maar ook bovenop de Vulkan-, Metal- en Direct 3D-API's. In 5.15 wordt de nieuwe grafische stapel aangeboden in de vorm van een optie die de status heeft van “Technology Preview”.
  • Volledige module-ondersteuning geboden Qt Snelle 3D, waaruit het teken van experimentele ontwikkeling is verwijderd. Qt Quick 3D biedt een uniforme API voor het creëren van gebruikersinterfaces gebaseerd op Qt Quick die 2D- en 3D grafische elementen combineren. Met de nieuwe API kunt u QML gebruiken om 3D-interface-elementen te definiëren zonder het UIP-formaat te gebruiken. In Qt Quick 3D kunt u één runtime (Qt Quick), één scène-indeling en één animatieframework voor 2D en 3D gebruiken, en Qt Design Studio gebruiken voor de ontwikkeling van visuele interfaces. De module lost problemen op zoals grote overhead bij het integreren van QML met inhoud van Qt 3D of 3D Studio, en biedt de mogelijkheid om animaties en transformaties op frameniveau te synchroniseren tussen 2D en 3D.

    Nieuwe functies toegevoegd aan Qt Quick 3D omvatten ondersteuning voor nabewerkingseffecten, een C++ API voor geometriemanipulatie, een rotatie-API gebaseerd op de QQuaternion-klasse en ondersteuning voor puntlichten. Om de verschillende functies van Qt Quick 3D te evalueren voorbereid een speciale demo-applicatie die laat zien hoe je soorten en bronnen van verlichting kunt veranderen, complexe modellen kunt gebruiken, texturen, materialen kunt manipuleren en anti-aliasing kunt voorkomen. Tegelijkertijd voorgesteld uitgifte omgeving om de gebruikersinterface van Qt Design Studio 1.5 te ontwerpen, die volledige ondersteuning biedt voor Qt Quick 3D.


  • In Qt QML was het werk geconcentreerd ter voorbereiding op Qt 6. De mogelijkheid om eigenschappen met het 'required' attribuut te gebruiken in componenten, waarvan de installatie verplicht is, is geïmplementeerd. Het hulpprogramma qmllint heeft het genereren van waarschuwingen over mogelijke problemen in QML-code verbeterd. Het hulpprogramma qmlformat is toegevoegd, waardoor het eenvoudiger wordt om QML-code op te maken in overeenstemming met de richtlijnen voor codeerstijlen. Gegarandeerde compatibiliteit van QML met de Qt-editie voor microcontrollers.
  • In Qt Quick is ondersteuning voor kleurruimten toegevoegd aan het Image-element. Een nieuw PathText-element is toegevoegd aan Qt Quick Shapes.
    Er is een eigenschap cursorShape aan de pointerhandler toegevoegd, waarmee u de vorm van de muiscursor op desktopsystemen kunt wijzigen. Er is een HeaderView-element toegevoegd om het gemakkelijker te maken om verticale en horizontale kopteksten toe te voegen aan op TableView gebaseerde tabellen.

  • De ondersteuning voor vensterdecoratie aan de clientzijde (CSD) is aanzienlijk verbeterd, waardoor een toepassing zijn eigen vensterdecoraties kan definiëren en aangepaste inhoud in de titelbalk van het venster kan plaatsen.
  • Module gestabiliseerd Qt Lottie, die een geavanceerde QML API biedt waarmee u afbeeldingen en animaties kunt renderen die in JSON-indeling zijn geëxporteerd met behulp van de Bodymovin-plug-in voor Adobe After Effects. Dankzij QtLottie kan een ontwerper animatie-effecten voorbereiden in een handige applicatie, en kan een ontwikkelaar geëxporteerde bestanden rechtstreeks verbinden met de applicatie-interface op QtQuick. QtLottie bevat een ingebouwde micro-engine voor het uitvoeren van animaties, bijsnijden, gelaagdheid en andere effecten. De engine is toegankelijk via het LottieAnimation QML-element, dat op dezelfde manier kan worden bestuurd vanuit QML-code als elk ander QtQuick-element.
  • De Qt WebEngine browser-engine is bijgewerkt naar de codebasis Chromium 80 (in tak 5.14 werd Chroom 77 gebruikt, de huidige versie is Chromium 83).
  • De Qt 3D-module heeft verbeterde tools voor profilering en foutopsporing.
  • Qt Multimedia heeft ondersteuning toegevoegd voor weergave op meerdere oppervlakken.
  • In Qt GUI zijn bewerkingen voor het schalen en transformeren van afbeeldingen nu in veel gevallen multi-threaded.
  • Qt Network heeft ondersteuning toegevoegd voor aangepaste time-outs en snelkoppelingen naar sessies in TLS 1.3 (Sessieticket, hiermee kunt u een sessie hervatten zonder de status aan de serverzijde op te slaan).
  • Qt Core, QRunnable en QThreadPool ingeschakeld om te werken met std::function. Een nieuwe methode QFile::moveToTrash() toegevoegd voor het verplaatsen van items naar de prullenbak, rekening houdend met de specifieke kenmerken van verschillende platforms.
  • In Qt voor Android toegevoegd Ondersteuning voor native dialogen voor het openen en opslaan van bestanden.

Bron: opennet.ru

Voeg een reactie