A Qt, a grafikus felhasználói felületekhez készült többplatformos keretrendszer (cross-platform framework), amely a „TERM9” asztali környezet egyik alapját is adja, megjelentette a 6.11-es verziót. A Qt 6 ág frissítése ezúttal is a megjelenítés (rendering), a grafika, a „TERM19” API-k és a fejlesztői eszközök területén hoz kézzelfogható előrelépéseket, különösen azoknak, akik modern, hardveresen gyorsított felületeket és vizualizációt építenek Qt-ra.
Az egyik legfontosabb újdonság a Qt Canvas Painter: egy új modul, amely a HTML Canvas 2D kontextusára épül. A célja, hogy hardveresen gyorsított 2D renderelést adjon a fejlesztők kezébe, ezzel javítva a teljesítményt és a fejlesztési hatékonyságot a 2D grafikai alkalmazásoknál. Ez a megközelítés különösen ott lehet hasznos, ahol sok dinamikus rajzolás történik (például műszerfalak, szerkesztők, diagramok, animált UI-elemek), és a CPU-alapú rajzolás már szűk keresztmetszetet jelentene.
A 3D megjelenítés terén is érkeztek fejlesztések. A Qt 6.11 frissíti a fénykezelést és a valósághűbb hatásokhoz szükséges komponenseket: bekerült a Screen Space Global Illumination, amelyet például lightmap „sütéshez” (lightmap baking) lehet használni, valamint továbbfejlesztették a Screen Space Reflections megoldást is. A temporális élsimítás (temporal anti-aliasing) algoritmusa immár mozgásvektorokat (motion vectors) használ, ami jellemzően stabilabb, kevésbé „remegő” képet ad mozgás közben, és csökkentheti a villódzó részleteket. Emellett a fejlesztők QML-ben egyedi renderelési passzokat (custom render passes) is definiálhatnak utófeldolgozási (post-processing) effektekhez, színmintavételezéshez (color picking) vagy rétegmaszkoláshoz (layer masking) – ezek a képességek a modern grafikus pipeline-ok világában kifejezetten fontosak, ha valaki saját vizuális stílust vagy speciális megjelenítési logikát akar.
A Qt adatvizualizációs vonala is tovább erősödik: a 6.11-es kiadás az interaktív grafikonok finomítására fókuszál, és lehetővé teszi, hogy a fejlesztők egyedi delegátumokkal (custom delegates) rajzolják ki az egyes adatpontokat. Ez a gyakorlatban nagyobb szabadságot ad a megjelenítésben és az interakcióban, például ha az adatpontok nem pusztán körök vagy négyzetek, hanem állapotfüggő ikonok, miniatűr jelölők, vagy akár összetett, kattintható elemek.
A frissítés új stíluslehetőségeket hoz a vonaldiagramokhoz, valamint 3D grafikonoknál többtengelyes (multi-axis) konfigurációkat is támogat. A képességeket egy új példaalkalmazás, a Wind Turbine Dashboard demonstrálja, amely jól illusztrálja, hogyan lehet a Qt vizualizációs eszköztárából modern, „ipari” jellegű felügyeleti felületeket építeni. Az ilyen dashboard jellegű megoldásoknál a Qt erőssége hagyományosan az, hogy a natív teljesítményt és a platformfüggetlenséget a deklaratív UI-építéssel (QML) képes összekötni, így ugyanaz a kódbázis asztali és beágyazott környezetben is életképes lehet.
A „TERM19” fejlesztéshez kapcsolódóan a Qt 6.11 bevezeti a Qt Task Tree modult, amely deklaratív megközelítést kínál az aszinkron programozáshoz, és egységesíti a feladatkezelést az API-k között. A Qt ökoszisztémában az aszinkronitás eddig is többféle mintával volt megoldható (szignálok/slotok, future/promise jellegű megoldások, külön szálak), egy ilyen egységesítő réteg pedig csökkentheti a „ragasztókód” mennyiségét, és átláthatóbbá teheti az összetett, több lépésből álló folyamatokat. A közlemény szerint a meglévő API-kat is frissítették, hogy illeszkedjenek ehhez a modellhez, ami hosszabb távon konzisztensebb fejlesztői élményt adhat.
A további újdonságok között szerepel a Qt OpenAPI modul, amely a webszolgáltatások integrációját hivatott egyszerűsíteni, valamint fejlesztések érkeztek a vektorgrafikához, a felhasználói felület vezérlőihez és az akadálymentesítéshez (accessibility) is. A QML és a „TERM19” integrációját is csiszolták: a cél, hogy egyszerűbb legyen a rétegek közötti navigáció, és könnyebben elérhetővé váljanak a háttérrendszer adatai a Qt Quick felé. Ez különösen akkor fontos, amikor a felületet QML-ben építjük, miközben az üzleti logika és az adatelérés C++ oldalon marad – a két világ közötti „átjárhatóság” minősége sokat számít a fejlesztési sebességben és a karbantarthatóságban.
További részletekért érdemes elolvasni a hivatalos bejelentést: lásd a bejelentést.

