Qt 5.15 raamistiku väljalase

Tutvustatakse platvormideülese raamistiku väljalase Qt 5.15. Qt komponentide lähtekood on saadaval LGPLv3 ja GPLv2 litsentside alusel. Detsembris ilmub Qt 6 uus haru, milles oodatud olulisi arhitektuurilisi muudatusi. Tulevase Qt 6 harule ülemineku sujuvamaks muutmiseks sisaldab Qt 5.15 mõnede uute funktsioonide eelvaaterakendusi ja lisatud hoiatusi Qt 6 eemaldamiseks kavandatud funktsioonide peatse aegumise kohta.

Qt 5.15 on klassifitseeritud pikaajalise toe (LTS) väljalaseks. Samal ajal, et kogukond värskendaks haru 5.15 avaldatakse ainult kuni järgmise olulise numbri kujunemiseni, s.o. umbes kuus kuud. Laiendatud LTS-tsükkel, mis hõlmab värskenduste genereerimist kolme aasta jooksul, on piiratud kommertslitsentsiga kasutajatele (tavaliste ettevõtete puhul 5508 dollarit aastas arendaja kohta ja idufirmade ja väikeettevõtete puhul 499 dollarit aastas). Ka Qt ettevõte kaalus võimalus lülituda Qt levitamismudelile, mille puhul kõiki esimese 12 kuu väljalaseid levitatakse ainult kommertslitsentside kasutajatele. Kuid siiani pole see idee arutelust kaugemale jõudnud.

Kõik uuendused Qt 5.15-s:

  • Töö jätkus abstraheeritud graafika API loomisel, mis ei sõltu operatsioonisüsteemi 3D API-st. Uue Qt graafikapinu põhikomponent on stseeni renderdusmootor, mis kasutab RHI (Rendering Hardware Interface) kihti Qt Quick rakenduste toiteks mitte ainult OpenGL-iga, vaid ka Vulkani, Metalli ja Direct 3D API-de peal. Versioonis 5.15 pakutakse uut graafikapakki valikuna, mille olek on "Tehnoloogia eelvaade".
  • Pakutakse täielikku mooduli tuge Qt Kiire 3D, millelt on eemaldatud eksperimentaalse arenduse märk. Qt Quick 3D pakub ühtset API-d Qt Quickil põhinevate kasutajaliideste loomiseks, mis ühendavad 2D ja 3D graafikaelemente. Uus API võimaldab 3D-liidese elementide määratlemiseks kasutada QML-i ilma UIP-vormingut kasutamata. Qt Quick 3D-s saate 2D ja 3D jaoks kasutada ühte käitusaega (Qt Quick), ühte stseeni paigutust ja ühte animatsiooniraamistikku ning visuaalse liidese arendamiseks Qt Design Studiot. Moodul lahendab sellised probleemid nagu suured üldkulud QML-i integreerimisel Qt 3D või 3D Studio sisuga ning võimaldab sünkroonida animatsioone ja teisendusi kaadri tasemel 2D ja 3D vahel.

    Qt Quick 3D-le lisatud uute funktsioonide hulka kuuluvad järeltöötlusefektide tugi, C++ API geomeetriaga manipuleerimiseks, QQuaternioni klassil põhinev rotatsiooni API ja punkttulede tugi. Qt Quick 3D erinevate funktsioonide hindamiseks ette valmistatud spetsiaalne demorakendus, mis näitab, kuidas saate muuta valgustuse tüüpe ja allikaid, kasutada keerulisi mudeleid, manipuleerida tekstuure, materjale ja antialiasi. Samaaegselt pakutud vabastama keskkond kujundada Qt Design Studio 1.5 kasutajaliides, mis pakub Qt Quick 3D täielikku tuge.


  • Qt QML-is oli töö keskendunud Qt 6 ettevalmistamisel. Rakendatud on võimalus kasutada komponentides atribuudiga 'required' atribuute, mille paigaldamine on kohustuslik. Utiliit qmllint on parandanud hoiatuste genereerimist QML-koodi võimalike probleemide kohta. Lisatud utiliit qmlformat, mis hõlbustab QML-koodi vormindamist vastavalt kodeerimisstiili juhistele. QML-i ühilduvus Qt-väljaandega on tagatud mikrokontrollerid.
  • Qt Quickis on pildielemendile lisatud värviruumide tugi. Qt kiirkujunditesse on lisatud uus PathText element.
    Kursorikäsitlejasse on lisatud atribuut cursorShape, mille kaudu saab töölauasüsteemides hiirekursori kuju muuta. Lisatud element HeaderView, et hõlbustada vertikaalsete ja horisontaalsete päiste lisamist TableView-põhistele tabelitele.

  • Kliendipoolse aknakaunistuse (CSD) tuge on oluliselt täiustatud, võimaldades rakendusel määrata oma aknakaunistused ja paigutada akna tiitliribale kohandatud sisu.
  • Moodul stabiliseeritud Qt Lottie, mis pakub täiustatud QML API-d, mis võimaldab renderdada JSON-vormingus eksporditud graafikat ja animatsioone, kasutades Adobe After Effectsi pistikprogrammi Bodymovin. Tänu QtLottie-le saab disainer mugavas rakenduses animatsiooniefekte ette valmistada ja arendaja saab eksporditud failid otse QtQuicki rakenduse liidesega ühendada. QtLottie sisaldab sisseehitatud mikromootorit animatsiooni, kärpimise, kihistamise ja muude efektide tegemiseks. Mootorile pääseb ligi LottieAnimation QML elemendi kaudu, mida saab juhtida QML koodist samamoodi nagu mis tahes muud QtQuicki elementi.
  • Qt WebEngine'i brauserimootorit on värskendatud koodibaasi järgi Chromium 80 (harus 5.14 kasutati Chromium 77, praegune versioon on Chromium 83).
  • Qt 3D moodulis on täiustatud profiilide koostamise ja silumise tööriistad.
  • Qt Multimedia on lisanud mitme pinna renderdamise toe.
  • Qt GUI-s on pildi skaleerimise ja teisendusoperatsioonid nüüd paljudel juhtudel mitme lõimega.
  • Qt Network on lisanud toe kohandatud ajalõppudele ja seansi otseteed TLS 1.3-s (seansipilet, võimaldab teil seanssi jätkata ilma olekut serveri poolel salvestamata).
  • Lubatud Qt Core, QRunnable ja QThreadPool, et töötada funktsiooniga std::. Lisatud uus meetod QFile::moveToTrash() üksuste prügikasti teisaldamiseks, võttes arvesse erinevate platvormide eripära.
  • Qt Androidi jaoks lisatud Failide avamise ja salvestamise dialoogide tugi.

Allikas: opennet.ru

Lisa kommentaar