Galima Qt 6.0 alfa versija

Įmonė Qt paskelbė apie temos vertimą Qt 6 į alfa testavimo etapą. Qt 6 apima reikšmingus architektūrinius pakeitimus, todėl norint sukurti reikia C++17 standartą palaikančio kompiliatoriaus. Paleisti suplanuota nuo 1 m. gruodžio 2020 d.

Raktas Įranga Qt 6:

  • Abstrahuota grafikos API, nepriklausoma nuo operacinės sistemos 3D API. Pagrindinis naujosios Qt grafikos krūvos komponentas yra scenos atvaizdavimo variklis, kuris naudoja RHI (Rendering Hardware Interface) sluoksnį, kad galėtų maitinti Qt Quick programas ne tik su OpenGL, bet ir ant Vulkan, Metal ir Direct 3D API.
  • Qt Quick 3D modulis su API, skirtas kurti vartotojo sąsajas Qt Quick pagrindu, derinant 2D ir 3D grafikos elementus. Qt Quick 3D leidžia naudoti QML 3D sąsajos elementams apibrėžti nenaudojant UIP formato. Qt Quick 3D galite naudoti vieną vykdymo laiką (Qt Quick), vieną scenos išdėstymą ir vieną animacijos sistemą, skirtą 2D ir 3D, ir naudoti Qt Design Studio vizualinei sąsajai kurti. Modulis išsprendžia tokias problemas kaip didelės papildomos išlaidos integruojant QML su turiniu iš Qt 3D arba 3D Studio, ir suteikia galimybę sinchronizuoti animacijas ir transformacijas kadrų lygyje tarp 2D ir 3D.
  • Kodo bazės pertvarkymas į mažesnius komponentus ir bazinio produkto dydžio sumažinimas. Kūrėjų įrankiai ir specializuoti komponentai bus pateikiami kaip priedai, platinami per katalogų parduotuvę „Qt Marketplace“.
  • Reikšmingas QML modernizavimas:
    • Stiprus spausdinimo palaikymas.
    • Gebėjimas kompiliuoti QML į C++ atvaizdavimą ir mašininį kodą.
    • Visiško „JavaScript“ palaikymo parinktis (naudojant visas funkcijas turintį „JavaScript“ variklį reikia daug išteklių, todėl negalima naudoti QML įrangoje, pvz., mikrovaldikliuose).
    • Atsisakymas kurti versijas QML.
    • QObject ir QML dubliuojamų duomenų struktūrų suvienodinimas (sumažins atminties sąnaudas ir pagreitins paleidimą).
    • Pereinama nuo duomenų struktūrų generavimo vykdymo metu, o į generavimą kompiliavimo metu.
    • Vidinių komponentų slėpimas naudojant privačius metodus ir savybes.
    • Patobulinta integracija su kūrimo įrankiais, skirtais pertvarkymui ir kompiliavimo laiko klaidų diagnostikai.
  • Įrankių, skirtų su grafika susijusiam turtui apdoroti kompiliavimo metu, pridėjimas, pvz., PNG vaizdų konvertavimas į suspaustas tekstūras arba šešėlių ir tinklelių konvertavimas į optimizuotus dvejetainius formatus konkrečiai aparatūrai.
  • Įterpiamas vieningas temų ir stilių variklis, leidžiantis pasiekti programų, pagrįstų Qt valdikliais ir Qt Quick, skirtų skirtingoms mobiliesiems ir stalinių kompiuterių platformoms, išvaizdą.
  • Buvo nuspręsta naudoti CMake, o ne QMake kaip kūrimo sistemą. Programų kūrimo naudojant QMake palaikymas išliks, tačiau pats Qt bus kuriamas naudojant CMake. CMake buvo pasirinktas, nes šis įrankių rinkinys yra plačiai naudojamas tarp C++ projektų kūrėjų ir palaikomas daugelyje integruotų kūrimo aplinkų. Sukurta Qbs surinkimo sistema, kuri, kaip teigiama, yra QMake pakaitalas, tęsė bendruomenė.
  • Kūrimo metu perėjimas prie C++17 standarto (anksčiau buvo naudojamas C++98). Qt 6 planuoja įdiegti daugelio šiuolaikinių C++ funkcijų palaikymą, tačiau neprarasdamas atgalinio suderinamumo su ankstesniais standartais pagrįstu kodu.
  • Galimybė naudoti kai kurias QML ir Qt Quick C++ kode siūlomas funkcijas. Bus pristatyta nauja QObject ir panašių klasių nuosavybės sistema. Iš QML į Qt branduolį bus integruotas variklis, skirtas darbui su įrišimais, kurie sumažins susiejimo apkrovą ir atminties sąnaudas ir padarys juos prieinamus visoms Qt dalims, o ne tik Qt Quick.
  • Išplėstas papildomų kalbų, tokių kaip Python ir WebAssembly, palaikymas.
  • Šaltinis: opennet.ru

Добавить комментарий