Qt 5.15 keretrendszer kiadás

Által benyújtott platformközi keretrendszer kiadása Qt 5.15. A Qt komponensek forráskódja az LGPLv3 és GPLv2 licencek alatt található. Decemberben megjelenik a Qt 6 új ága, amelyben várt jelentős építészeti változások. A Qt 6 ágra való jövőbeli átállás simábbá tétele érdekében a Qt 5.15 néhány új funkció előnézeti megvalósítását tartalmazza, és figyelmeztetéseket is tartalmaz a Qt 6-ban tervezett funkcionalitás küszöbön álló megszűnéséről.

A Qt 5.15 a Long Term Support (LTS) kiadásnak minősül. Ugyanakkor a közösség frissítései az 5.15. ágra közzétesszük csak addig, amíg a következő jelentős kérdés meg nem alakul, azaz. körülbelül hat hónap. A meghosszabbított LTS-ciklus, amely magában foglalja a frissítések generálását három éven keresztül, a kereskedelmi engedéllyel rendelkező felhasználókra korlátozódik (évente 5508 dollár fejlesztőnként normál vállalatoknál, és évi 499 dollár startupoknál és kisvállalkozásoknál). A Qt Társaság is figyelembe vett a Qt disztribúciós modellre való átállás lehetősége, amelyben az első 12 hónap összes kiadása csak a kereskedelmi licenccel rendelkező felhasználók számára lesz terjesztve. De ez az ötlet eddig nem ment túl a vitán.

A főbb újítások a Qt 5.15-ben:

  • Folytatódott a munka egy absztrahált grafikus API létrehozásán, amely nem függ az operációs rendszer 3D API-jától. Az új Qt grafikus verem egyik kulcseleme a jelenet renderelő motor, amely az RHI (Rendering Hardware Interface) réteget használja a Qt Quick alkalmazások működéséhez nem csak OpenGL-lel, hanem a Vulkan, Metal és Direct 3D API-k tetején is. Az 5.15-ös verzióban az új grafikus verem „Technology Preview” státuszú opció formájában elérhető.
  • Teljes modul támogatás biztosított Qt Gyors 3D, amelyről eltávolították a kísérleti fejlesztés jelét. A Qt Quick 3D egységes API-t biztosít a Qt Quicken alapuló felhasználói felületek létrehozásához, amelyek 2D és 3D grafikus elemeket kombinálnak. Az új API lehetővé teszi, hogy QML segítségével definiáljon 3D interfész elemeket UIP formátum használata nélkül. A Qt Quick 3D-ben egy futtatókörnyezetet (Qt Quick), egy jelenet-elrendezést és egy animációs keretrendszert használhat 2D-hez és 3D-hez, és használhatja a Qt Design Studio-t a vizuális felületek fejlesztéséhez. A modul olyan problémákat old meg, mint például a nagy többletterhelés, amikor a QML-t integrálja a Qt 3D vagy 3D Studio tartalommal, és lehetővé teszi az animációk és átalakítások szinkronizálását a 2D és a 3D közötti keretszinten.

    A Qt Quick 3D újdonságai közé tartozik az utófeldolgozási effektusok támogatása, a C++ API a geometria-manipulációhoz, a QQuaternion osztályon alapuló rotációs API, valamint a pontfények támogatása. A Qt Quick 3D különféle funkcióinak értékelése előkészített egy speciális bemutató alkalmazás, amely bemutatja, hogyan változtathatja meg a világítás típusait és forrásait, hogyan használhat összetett modelleket, hogyan kezelheti a textúrákat, anyagokat és az élsimítást. Egyidejűleg javasolta kérdés környezet a Qt Design Studio 1.5 felhasználói felületének megtervezéséhez, amely teljes mértékben támogatja a Qt Quick 3D-t.


  • A Qt QML-ben a munka az volt sűrített a Qt 6-ra készülve. Megvalósult a 'required' attribútummal rendelkező tulajdonságok használatának képessége a komponensekben, amelyek telepítése kötelező. A qmllint segédprogram javította a QML-kód lehetséges problémáira vonatkozó figyelmeztetések generálását. Hozzáadtuk a qmlformat segédprogramot, amely megkönnyíti a QML-kód formázását a kódolási stílus irányelveinek megfelelően. Biztosított a QML kompatibilitása a Qt kiadással mikrokontrollerek.
  • A Qt Quick-ben a színterek támogatása hozzáadásra került az Image elemhez. Egy új PathText elem került hozzáadásra a Qt Quick Shapes-hez.
    A mutatókezelőhöz hozzáadtunk egy cursorShape tulajdonságot, amelyen keresztül asztali rendszereken módosíthatjuk az egérkurzor alakját. Hozzáadott egy HeaderView elemet, amely megkönnyíti a függőleges és vízszintes fejlécek hozzáadását a TableView-alapú táblázatokhoz.

  • Az ügyféloldali ablakdekoráció (CSD) támogatása jelentősen javult, lehetővé téve az alkalmazások számára, hogy meghatározzák saját ablakdekorációikat, és egyedi tartalmat helyezzenek el az ablak címsorában.
  • A modul stabilizált Qt Lottie, amely egy fejlett QML API-t biztosít, amely lehetővé teszi a JSON formátumban exportált grafikák és animációk megjelenítését az Adobe After Effects Bodymovin beépülő moduljával. A QtLottie-nak köszönhetően a tervezők animációs effektusokat készíthetnek egy kényelmes alkalmazásban, a fejlesztő pedig közvetlenül csatlakoztathatja az exportált fájlokat a QtQuick alkalmazásfelületéhez. A QtLottie egy beépített mikromotort tartalmaz animáció, vágás, rétegezés és egyéb effektusok végrehajtásához. A motor a LottieAnimation QML elemen keresztül érhető el, amely QML kódból ugyanúgy vezérelhető, mint bármely más QtQuick elem.
  • A Qt WebEngine böngészőmotor frissítve lett a kódbázisra Króm 80 (az 5.14-es ágban a Chromium 77-et használták, a jelenlegi verzió Króm 83).
  • A Qt 3D modul továbbfejlesztett profilkészítő és hibakereső eszközökkel rendelkezik.
  • A Qt Multimedia támogatja a többfelületű renderelést.
  • A Qt GUI-ban a képméretezési és átalakítási műveletek sok esetben többszálúak.
  • A Qt Network támogatja az egyéni időtúllépéseket és munkamenet parancsikonok a TLS 1.3-ban (Session Ticket, lehetővé teszi a munkamenet folytatását az állapot mentése nélkül a szerver oldalon).
  • Engedélyezett Qt Core, QRunnable és QThreadPool az std::függvénnyel való együttműködéshez. Új QFile::moveToTrash() metódus hozzáadva az elemek kukába helyezéséhez, figyelembe véve a különböző platformok sajátosságait.
  • Qt-ben Androidra tette hozzá A natív párbeszédpanelek támogatása a fájlok megnyitásához és mentéséhez.

Forrás: opennet.ru

Hozzászólás