Tvrtka Qt Company objavila je izdanje Qt 6.9, u kojem je nastavljena stabilizacija i proširenje funkcionalnosti grane Qt 6. U Qt 6.9 podržane su platforme Windows 10+, macOS 12+, Linux (Ubuntu 22.04/24.04, openSUSE 15.5, SUSE 15 SP5, RHEL 8.10/9.4, Debian 11.6), iOS 16+, Android 9+(API 23+), webOS, WebAssembly, INTEGRITY, VxWorks, FreeRTOS i QNX. Izvorni kodovi Qt komponenti isporučuju se pod licencama LGPLv3 i GPLv2. Qt 6.9 dobio je status međuvremenskog izdanja, a javna podrška bit će dostupna 6 mjeseci (+ još 6 mjeseci za komercijalne korisnike).
Glavne promjene u Qt 6.9:
- Nastavljeno je razvijanje modula Qt Graphs, koji je namijenjen za izradu 2D i 3D grafova, kao i vizualizaciju velikih kolekcija brzo promjenjivih podataka. Modul koristi Qt Quick 3D i RHI (Rendering Hardware Interface) renderer koji podržava različite 3D API-je (OpenGL, Vulkan, Metal i Direct 3D). U novoj verziji dodana je podrška za prozirnost u QML tipu Surface3D, implementirana je klasa QSpline3DSeries za prikazivanje podataka u obliku 3D splajnova, a dodane su dodatne mogućnosti za prilagodbu izgleda dijagrama, osi i oznaka. Omogućena je ugradnja grafova u aplikacije temeljene na Qt Quick 3D korištenjem svojstva „importScene“ u scenama temeljenim na View3D. Pojednostavljena je konfiguracija parametara unosa u 2D dijagramima. U QGraphsView dodana je podrška za precizno pozicioniranje pravokutne površine (plotArea) za prikaz grafika.

- Implementirana je mogućnost prepoznavanja kodova emoji u tekstu i korištenja ispravnih obojenih fontova za njihovo prikazivanje. U QFontDatabase dodan je novi API za odabir obitelji fontova za emoji. Trenutno se podržavaju fontovi u CBDT i COLRv1 formatima. Ako je željeno, parsiranje emoji može biti onemogućeno.


- Dodana je API za stvaranje sučelja u kojima se elementi sučelja miješaju s sadržajem i ne ometaju korisnika (sadržaj zauzima cijeli prostor prozora, bez isticanja naslova). Kako bi se proširio prostor sučelja aplikacije na cijeli prozor, dodana je zastavica Qt.ExpandedClientAreaHint, a za isticanje područja sa pomoćnim elementima, kao što su naslov, podnožje i izbornik, koji ne bi trebali preklapati unutrašnje elemente sučelja aplikacije, u Qt Quick implementirano je svojstvo 'SafeArea'.

- Modulu Qt SVG dodana je osnovna podrška za CSS animacije, koja se trenutno primjenjuje samo na svojstva „color“, „fill“, „stroke“ i „transform“.
- Obavljen je rad na povećanju performansi.
- Na sustavima s hibridnim CPU-ima, opremljenim zasebnim visokoučinkovitim i energetski učinkovitima jezgrama, u QThread je dodana mogućnost prijenosa savjeta planeru o tome na kojem tipu CPU jezgri treba izvoditi zadani otvoreni tok.
- Za aplikacije koje koriste QQuickPaintedItem s OpenGL, odobreno je korištenje načina renderiranja FramebufferObject, pri kojem se koristi hardversko ubrzanje.
- U RHI backendu (Rendering Hardware Interface) za OpenGL ES aktivirano je proširenje s podrškom za višesampling, što omogućava poboljšanje performansi Qt Quick i Qt Quick 3D na modernim GPU-ima.
- U RHI backendu za Direct 3D dodan je zaseban tok za praćenje završetka vertikalnog osvežavanja (vblank), što je smanjilo kašnjenja u interaktivnim sučeljima.
- U svim RHI backendima, osim OpenGL, dodana je podrška za mehanizam Variable Rate Shading (VRS), koji osigurava podršku za renderiranje uzimajući u obzir pravac pogleda korisnika u aplikacijama virtualne stvarnosti temeljenim na Quick 3D XR.
- U Qt Quick predložen je novi element RectangularShadow, koji smanjuje opterećenje CPU-a prilikom korištenja učinaka sjenčenja i sjaja u sučelju.
- U klasi QHeaderView značajno je smanjena potrošnja memorije kada je isključena promjena veličine i reorganizacija sekcija.
- U Quick 3D implementirana je tehnika „Weighted Blended“, koja omogućava renderiranje prozirnih objekata bez provodjenja odvojenih operacija sortiranja dubine. Implementirana tehnika eliminira pojavu artefakata zbog netočnog sortiranja koji se javljaju kada se objekti preklapaju. Prema opterećenju CPU-a i potrošnji memorije, nova metoda je identična staroj.

- Dodan je modul Qt Network Authorization, koji pruža API za autentifikaciju putem protokola OAuth1 i OAuth2, koji se mogu koristiti za pristup online uslugama bez otkrivanja korisničke lozinke.
- Rad na jačanju zaštite modula Qt HTTP Server je završen. U QHttpServerConfiguration je dodana mogućnost ograničavanja maksimalnog broja dolaznih zahtjeva. U QHttp2Configuration za HTTP/2 klijente dodana je podrška za podešavanje maksimalnog broja istovremeno kreiranih tokova.
- U QML jeziku poslužitelja, implementacija poslužitelja LSP (Protokol jezika poslužitelja) za QML omogućuje isporuku informacija o strukturi QML, što omogućuje prikaz hijerarhijskog predstavljanja strukture QML u uređivačima koda i integriranim razvojnim okruženjima.
- U Qt Quick je dodat nova komponenta ContextMenu, koja pojednostavljuje vezivanje kontekstualnih izbornika uz elemente koji se otvaraju na temelju specifičnih događaja platforme, kao što je klik desnom tipkom miša. Za komponente TextField i TextArea dodani su zadani kontekstualni izbornici.
Izvor: opennet.ru





