Vrystelling van die Qt 5.14-raamwerk en Qt Creator 4.11.0-ontwikkelingsomgewing

Na ses maande van ontwikkeling voorberei vrystelling van 'n kruisplatform-raamwerk Qt 5.14. Die bronkode vir Qt-komponente is gelisensieer onder LGPLv3 en GPLv2, Qt-ontwikkelaarnutsgoed soos Qt Creator en qmake, en sommige modules is onder GPLv3 gelisensieer. Die vrystelling van Qt 5.14 was die begin van die voorbereiding van die Qt 6-tak, waarin verwag beduidende argitektoniese veranderinge. Qt 6 is geskeduleer vir die einde van volgende jaar, en om die oorgang na die nuwe tak glad te maak, is besluit om voorlopige implementerings van sommige innovasies by die Qt 5.14 en Qt 5.15 LTS-vrystellings ingesluit te word.

Die belangrikste innovasies:

  • Qt Quick het begin werk om 'n grafiese API te verskaf wat onafhanklik is van die bedryfstelsel se 3D API. In Qt 5.14 voorgestelde voorlopige implementering van 'n nuwe toneelweergawe-enjin wat die nuwe RHI (Rendering Hardware Interface)-laag gebruik om Qt Quick-toepassings in staat te stel om nie net bo-op OpenGL te loop nie, soos tot dusver die geval was, maar ook met Vulkan, Metal en Direct 3D 11. Die nuwe enjin word tans voorgestel in die vorm van 'n opsie om toepassings voor te berei vir die oorgang na Qt 6, waarin RHI by verstek vir grafiese uitset gebruik sal word.
  • Die Qt Quick Timeline-module is geïmplementeer, wat dit makliker maak om eienskappe te animeer deur 'n tydlyn en sleutelrame te gebruik. Die module is afgelei van die Qt Design Studio-ontwikkelingsomgewing, wat 'n tydlyn-gebaseerde redigeerder bied om animasies te skep sonder om kode te skryf.
  • Bygevoeg eksperimentele module Qt Vinnige 3D, wat 'n verenigde API bied 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. 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. 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.
  • Bygevoeg WheelHandler, 'n hanteerder vir muiswielgebeurtenisse, sowel as gebeurtenisse vir 'n wiel wat deur 'n raakpaneel nageboots word.
  • Werk gaan voort om werkverrigting op skerms met hoë piekseldigtheid te verbeter. Insluitend die vermoë om fraksionele skaalfaktore te spesifiseer.
  • Bygevoeg die vermoë om kleurruimtes vir beelde by te voeg, wat jou toelaat om korrekte kleurreproduksie te verkry wanneer beelde op gekalibreerde monitors vertoon word.
  • Het die QColorConstants-naamruimte bygevoeg, wat jou op die samestellingstyd toelaat om gevalle van die QColor-klas met 'n voorafbepaalde palet te genereer.
  • Ondersteuning vir lees en skryf Markdown is bygevoeg by die Qt Widgets en Qt Quick komponente vir die skep van teksredigeerders.
  • Die QCalendar API implementeer die vermoë om met ander kalenders as Gregoriaans te werk.
  • Vir Android is ondersteuning bygevoeg vir samestellings wat oor verskeie ABI's strek, wat jou toelaat om 'n toepassing vir verskillende argitekture tegelyk saam te stel. Ondersteuning vir die AAB-pakketformaat is ook bygevoeg, sodat toepassings vir alle ondersteunde argitekture in een argief afgelewer kan word.
  • Uitgevoer optimalisering van die werkverrigting van die Qt 3D-module, insluitend gemoderniseerde werk met drade, raambuffervoorwerpe en die kennisgewingstelsel. As gevolg hiervan was dit moontlik om die las op die SVE te verminder wanneer 'n raam geteken word en die doeltreffendheid van sinchronisasie tussen lopende drade te verhoog.
  • API's is by die Qt Network-module gevoeg vir die opstel van HTTP/2-parameters en die monitering van die netwerkverbinding.
  • Die Qt WebEngine-webenjin is opgedateer na Chromium 77 en uitgebrei met 'n nuwe API vir die bestuur van die lewensiklus van die QWebEnginePage-objek.
  • Lisensie vir Qt Wayland Compositor, Qt Application Manager en Qt PDF komponente verander van LGPLv3 na GPLv3, d.w.s. Om met nuwe vrystellings van hierdie komponente te skakel, vereis nou dat die bronkode van die programme onder GPLv3-versoenbare lisensies oopgemaak word of 'n kommersiële lisensie gekoop word (LGPLv3 word toegelaat om met eie kode te koppel).

Terselfdertyd gevorm IDE vrystelling Qt Skepper 4.11.0, ontwerp om kruisplatformtoepassings te skep deur die Qt-biblioteek te gebruik. Beide die ontwikkeling van klassieke C++-programme en die gebruik van die QML-taal word ondersteun, waarin JavaScript gebruik word om skrifte te definieer, en die struktuur en parameters van koppelvlakelemente word deur CSS-agtige blokke gestel.

Die nuwe weergawe van Qt Creator voeg eksperimentele ondersteuning by vir die ontwikkeling van toepassings vir mikrobeheerders en samestelling in WebAssembly met behulp van modules "Qt vir MCU's"En"Qt vir WebAssembly". Vir stelsels met
CMake 3.14 en nuwer weergawes gebruik 'n nuwe een vir die opstel en ontleding van projekte lêer API (/.cmake/api/). Bygevoeg ondersteuning by die kode redakteur uitbreiding Taalbediener-protokol vir die uitlig van semantiek, en ook vereenvoudigde konfigurasie van die Taalbediener vir die Python-taal. 'n Opsie is by die koppelvlak gevoeg om die lyneindmerkstyl te verander. Die vermoë om QML-bindings te wysig is by Qt Quick Designer gevoeg.

Bron: opennet.ru

Voeg 'n opmerking