Qt 5.15 raamwerk vrystelling

Bekendgestel vrystelling van 'n kruisplatform-raamwerk Qt 5.15. Die bronkode vir Qt-komponente word verskaf onder die LGPLv3- en GPLv2-lisensies. 'n Nuwe tak van Qt 6 sal in Desember gepubliseer word, waarin verwag beduidende argitektoniese veranderinge. Om die toekomstige oorgang na die Qt 6-tak glad te maak, bevat Qt 5.15 voorskou-implementerings van 'n paar nuwe kenmerke en bygevoegde waarskuwings oor die dreigende aftakeling van funksionaliteit wat geskeduleer is vir verwydering in Qt 6.

Qt 5.15 word geklassifiseer as 'n langtermynondersteuning (LTS) vrystelling. Terselfdertyd, vir die gemeenskap opdaterings na tak 5.15 gepubliseer sal word net totdat die volgende betekenisvolle kwessie gevorm word, d.w.s. sowat ses maande. Die uitgebreide LTS-siklus, wat die generering van opdaterings oor 'n tydperk van drie jaar behels, sal beperk word tot gebruikers met 'n kommersiële lisensie ($5508 499 per jaar per ontwikkelaar vir gewone maatskappye, en $XNUMX per jaar vir beginners en klein besighede). Die Qt Company ook oorweeg die vermoë om oor te skakel na die Qt-verspreidingsmodel, waarin alle vrystellings vir die eerste 12 maande slegs aan gebruikers van kommersiële lisensies versprei sal word. Maar tot dusver het hierdie idee nie verder gegaan as bespreking nie.

Die belangrikste innovasies in Qt 5.15:

  • Daar is voortgegaan om 'n geabstraheerde grafiese API te skep wat nie afhanklik is van die 3D API van die bedryfstelsel nie. 'n Sleutelkomponent van die nuwe Qt-grafiese stapel is die toneelweergawe-enjin, wat die RHI (Rendering Hardware Interface)-laag gebruik om Qt Quick-toepassings nie net met OpenGL aan te dryf nie, maar ook bo-op die Vulkan, Metal en Direct 3D API's. In 5.15 word die nuwe grafiese stapel aangebied in die vorm van 'n opsie wat die status van "Tegnologievoorskou" het.
  • Volledige module-ondersteuning verskaf Qt Vinnige 3D, waaruit die teken van eksperimentele ontwikkeling verwyder is. Qt Quick 3D bied 'n verenigde API vir die skep van gebruikerskoppelvlakke gebaseer op Qt Quick wat 2D- en 3D-grafiese elemente kombineer. Die nuwe API laat jou toe om QML te gebruik om 3D-koppelvlakelemente te definieer sonder om die UIP-formaat te gebruik. In Qt Quick 3D kan jy een looptyd (Qt Quick), een toneeluitleg en een animasieraamwerk vir 2D en 3D gebruik, en Qt Design Studio gebruik vir visuele koppelvlakontwikkeling. Die module los probleme op soos groot bokoste wanneer QML geïntegreer word met inhoud van Qt 3D of 3D Studio, en bied die vermoë om animasies en transformasies op die raamvlak tussen 2D en 3D te sinchroniseer.

    Nuwe kenmerke wat by Qt Quick 3D gevoeg word, sluit in ondersteuning vir na-verwerking effekte, 'n C++ API vir meetkunde manipulasie, 'n rotasie API gebaseer op die QQuaternion klas, en ondersteuning vir punt ligte. Om die verskillende kenmerke van Qt Quick 3D te evalueer voorberei 'n spesiale demo-toepassing wat wys hoe jy tipes en bronne van beligting kan verander, komplekse modelle kan gebruik, teksture, materiale en anti-aliasing kan manipuleer. Terselfdertyd voorgestelde uitgawe omgewing om die gebruikerskoppelvlak van Qt Design Studio 1.5 te ontwerp, wat volle ondersteuning vir Qt Quick 3D bied.


  • In Qt QML was die werk gekonsentreer ter voorbereiding vir Qt 6. Die vermoë om eienskappe met die 'vereiste' eienskap te gebruik in komponente, waarvan die installering verpligtend is, is geïmplementeer. Die qmllint-nutsding het die generering van waarskuwings oor moontlike probleme in QML-kode verbeter. Het die qmlformat-nutsding bygevoeg, wat dit makliker maak om QML-kode te formateer in ooreenstemming met koderingstylriglyne. Verseker verenigbaarheid van QML met die Qt-uitgawe vir mikrobeheerders.
  • In Qt Quick is ondersteuning vir kleurruimtes by die Beeld-element gevoeg. 'n Nuwe PathText-element is by Qt Quick Shapes gevoeg.
    'n CursorShape-eienskap is by die wyserhanteerder gevoeg, waardeur jy die vorm van die muiswyser op rekenaarstelsels kan verander. Het 'n HeaderView-element bygevoeg om dit makliker te maak om vertikale en horisontale opskrifte by TableView-gebaseerde tabelle te voeg.

  • Kliënt-kant venster versiering (CSD) ondersteuning is aansienlik verbeter, wat 'n toepassing toelaat om sy eie venster versierings te definieer en pasgemaakte inhoud in die venster titelbalk te plaas.
  • Module gestabiliseer Qt Lottie, wat 'n gevorderde QML API bied wat jou toelaat om grafika en animasies wat in JSON-formaat uitgevoer word weer te gee deur die Bodymovin-inprop vir Adobe After Effects te gebruik. Danksy QtLottie kan 'n ontwerper animasie-effekte in 'n gerieflike toepassing voorberei, en 'n ontwikkelaar kan uitvoerlêers direk aan die toepassingskoppelvlak op QtQuick koppel. QtLottie bevat 'n ingeboude mikro-enjin vir die uitvoering van animasie, uitsny, lae en ander effekte. Die enjin is toeganklik deur die LottieAnimation QML-element, wat op dieselfde manier as enige ander QtQuick-element vanaf QML-kode beheer kan word.
  • Die Qt WebEngine-blaaier-enjin is opgedateer na die kodebasis Chromium 80 (in tak 5.14 is Chromium 77 gebruik, die huidige weergawe is Chromium 83).
  • Die Qt 3D-module het verbeterde profiel- en ontfoutingsinstrumente.
  • Qt Multimedia het ondersteuning bygevoeg vir multi-oppervlak-weergawe.
  • In Qt GUI is beeldskaal- en transformasiebewerkings nou in baie gevalle multi-draad.
  • Qt Network het ondersteuning bygevoeg vir pasgemaakte time-outs en sessie kortpaaie in TLS 1.3 (Sessiekaartjie, laat jou toe om 'n sessie te hervat sonder om die toestand aan die bedienerkant te stoor).
  • Qt Core, QRunnable en QThreadPool geaktiveer om met std::funksie te werk. Het 'n nuwe metode QFile :: moveToTrash() bygevoeg om items na die asblik te skuif, met inagneming van die besonderhede van verskillende platforms.
  • In Qt vir Android bygevoeg Ondersteuning vir inheemse dialoë om lêers oop te maak en te stoor.

Bron: opennet.ru

Voeg 'n opmerking