A Qt 5.14 keretrendszer és a Qt Creator 4.11.0 fejlesztői környezet kiadása

Hat hónapos fejlesztés után előkészített platformközi keretrendszer kiadása Qt 5.14. A Qt összetevők forráskódja az LGPLv3 és GPLv2, a Qt fejlesztői eszközök, például a Qt Creator és a qmake, egyes modulok pedig GPLv3 licenc alatt állnak. A Qt 5.14 megjelenésével megkezdődött a Qt 6 ág előkészítése, melyben várt jelentős építészeti változások. A Qt 6 a tervek szerint a jövő év végére várható, és az új ágra való átállás zökkenőmentessége érdekében úgy döntöttek, hogy néhány újítás előzetes implementációját beépítik a Qt 5.14 és Qt 5.15 LTS kiadásokba.

A főbb innovációk:

  • A Qt Quick megkezdte az operációs rendszer 3D API-jától független grafikus API biztosítását. A Qt 5.14-ben javasolt egy új jelenetmegjelenítő motor előzetes megvalósítása az új RHI (Rendering Hardware Interface) réteg használatával, amely lehetővé teszi, hogy a Qt Quick alkalmazások ne csak az OpenGL tetején futhassanak, mint eddig, hanem Vulkan, Metal és Direct 3D 11 használatával is. Az új motor jelenleg a Qt 6-ra való átálláshoz szükséges alkalmazások előkészítésére szolgáló opció formájában javasolt, amelyben alapértelmezés szerint az RHI-t használják grafikus kimenetre.
  • Megvalósult a Qt Quick Timeline modul, amely megkönnyíti a tulajdonságok animálását idővonal és kulcskockák használatával. A modul a Qt Design Studio fejlesztői környezetből származik, amely idővonal alapú szerkesztőt biztosít animációk készítéséhez kódírás nélkül.
  • Kísérleti modul hozzáadva Qt Gyors 3D, amely egységes API-t biztosít a 2D és 3D grafikus elemeket kombináló Qt Quick alapú felhasználói felületek létrehozásához. 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 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-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.
  • Hozzáadott WheelHandler, az egér görgős eseményeinek kezelője, valamint az érintőpadon emulált görgő eseményei.
  • Folytatódik a munka a nagy képpontsűrűségű képernyők teljesítményének javításán. Beleértve a töredékes skálázási tényezők megadásának lehetőségét.
  • Hozzáadtuk a színterek hozzáadásának lehetőségét a képekhez, ami lehetővé teszi a megfelelő színvisszaadás elérését, amikor a képeket kalibrált monitorokon jeleníti meg.
  • Hozzáadtuk a QColorConstants névteret, amely fordítási időben lehetővé teszi a QColor osztály példányainak előállítását előre meghatározott palettával.
  • A Markdown olvasási és írási támogatása hozzáadásra került a Qt Widgetek és Qt Quick összetevőkhöz a szövegszerkesztők létrehozásához.
  • A QCalendar API lehetővé teszi a gregoriántól eltérő naptárak kezelését.
  • Android esetén több ABI-t felölelő szerelvények támogatása is bekerült, ami lehetővé teszi, hogy egyszerre különböző architektúrákhoz fordítsunk alkalmazást. Az AAB csomagformátum támogatása is hozzáadásra került, lehetővé téve az alkalmazások egyetlen archívumban történő szállítását az összes támogatott architektúrához.
  • Végrehajtott a Qt 3D modul teljesítményének optimalizálása, beleértve a szálak, framebuffer objektumok és az értesítési rendszer modernizálását. Ennek eredményeként csökkenthető volt a CPU terhelése a keret rajzolásakor, és növelhető a futó szálak közötti szinkronizálás hatékonysága.
  • API-k kerültek hozzáadásra a Qt Network modulhoz a HTTP/2 paraméterek konfigurálásához és a hálózati kapcsolat figyeléséhez.
  • A Qt WebEngine webmotor Chromium 77-re frissült, és egy új API-val bővült a QWebEnginePage objektum életciklusának kezelésére.
  • Licenc a Qt Wayland Compositor, a Qt Application Manager és a Qt PDF komponensekhez megváltozott LGPLv3-ról GPLv3-ra, azaz. Ezen összetevők új kiadásaival való összekapcsoláshoz most meg kell nyitni a programok forráskódját GPLv3-kompatibilis licencek alatt, vagy meg kell vásárolni egy kereskedelmi licencet (az LGPLv3 engedélyezte a szabadalmaztatott kóddal való összekapcsolást).

Egyidejűleg alakított IDE kiadás QtCreator 4.11.0, amelyet többplatformos alkalmazások létrehozására terveztek a Qt könyvtár használatával. Mind a klasszikus C++ programok fejlesztése, mind a QML nyelv használata támogatott, melyben a JavaScript segítségével definiálják a szkripteket, az interfész elemek szerkezetét és paramétereit pedig CSS-szerű blokkok állítják be.

A Qt Creator új verziója kísérleti támogatást ad a mikrokontrollerekhez való alkalmazások fejlesztéséhez és a WebAssembly-ben történő fordításhoz modulok segítségével.Qt MCU-khoz"És"Qt a WebAssembly számára". A rendszerekhez
A CMake 3.14 és újabb verziói egy újat használnak a projektek beállításához és elemzéséhez fájl API (/.cmake/api/). Támogatás hozzáadva a kódszerkesztőhöz terjeszkedés Nyelvi szerver protokoll a szemantika kiemelésére, valamint a nyelvi kiszolgáló egyszerűsített konfigurálása a Python nyelvhez. Az interfészhez egy lehetőség került a sorvégi jelölési stílus megváltoztatására. A Qt Quick Designer a QML-összerendelések szerkesztésének lehetőségével bővült.

Forrás: opennet.ru

Hozzászólás