Tvrtka Qt Company objavila je izdanje okvira Qt 6.10, u kojem je nastavljeno s radom na stabilizaciji i proširivanju funkcionalnosti grane Qt 6. U Qt 6.10 dostupna je podrška za platforme Windows 10+, macOS 13+, Linux (Ubuntu 22.04/24.04, openSUSE 15.6, SUSE 15 SP6, RHEL 8.10/9.4, Debian 11.6), iOS 16+, Android 9+ (API 23+), webOS, WebAssembly, INTEGRITY, VxWorks, FreeRTOS i QNX. Izvorni kodovi komponenti Qt isporučuju se pod licencama LGPLv3 i GPLv2. Qt 6.10 dobio je status međuprodaje, a javna podrška trajat će 6 mjeseci (+ još 6 mjeseci za komercijalne korisnike).
Glavne promjene u Qt 6.10:
- Dodana je QML vrsta FlexboxLayout za adaptivno raspoređivanje elemenata sučelja u skladu s konceptom Flexboxa, koji se koristi u CSS-u za pojednostavljenje vertikalnog poravnanja elemenata. Implementacija podržava koncepcije koje su već korištene u Qt Quick, kao što su pričvršćivanje svojstava za prilagodbu ponašanja pojedinih elemenata u rasporedu.
- U modulima Qt Quick Scene Graph i Qt Quick Shapes implementirane su mogućnosti za rad s animiranom vektorskom grafikom, koja se oblikuje iz slika u formatima SVG i Lottie. U modulu Qt Lottie proširena je podrška za datoteke u formatu Lottie. Dodana je mogućnost korištenja formata Lottie u vrsti VectorImage za prikazivanje Lottie datoteka s mogućnošću skaliranja i hardverskog ubrzanja.
- U skup Qt Quick Control uključen je novi element SearchField s implementacijom specijaliziranog polja za unos za korištenje s funkcionalnošću pretraživanja, koja omogućava prikaz relevantnih podataka u skočnom prozoru, filtriranih ovisno o već unesenom tekstu. Element podržava razne ugrađene stilove Qt-a i omogućava postizanje dizajna koji je prirodan za sve glavne platforme.
- Dodane su klase za pojednostavljenje integracije C++ modela podataka s QML i Qt Quick:
- QRangeModel — omotač preko QAbstractItemModel za izravnu upotrebu u sučeljima temeljenim na QML i Qt Quick za sve enumerirane tipove iz C++, uključujući std::vector, std::tuples i std::array. std::vector values = {1, 2, 3, 4, 5}; auto model = new QRangeModel(values); QListView *listView = new QListView; listView->setModel(model);
- U QML vrstu DelegateModel dodana su svojstva delegateModelAccess, koja mogu primiti vrijednost DelegateModel.ReadWrite za omogućavanje pisanja u model putem svojstava konteksta, objekta modela ili obveznih svojstava.
- Dodana je QML-tipa Synchronizer, ki rešuje nalogo sinhronizacije stanja kontrolnika z vrednostjo iz modela. Synchronizer zagotavlja, da več lastnosti vsebuje isto vrednost — sprememba ene od sinhroniziranih lastnosti samodejno privede do spremembe vseh drugih.
- Dodana je QML-tipa TreeModel, ki omogoča vključitev drevesnih struktur C++ neposredno v QML-dokument, z uporabo parov ključ-vrednost in sintakse seznama in slovarja, podobne JSON-u.
- Dodana je QML-tipa SortFilterProxyModel, ki omogoča sortiranje in filtriranje podatkov neposredno iz QML, brez uporabe C++ kode.
- V Qt Quick 3D so razširjene možnosti za ustvarjanje lučnih kart pri visoko kakovostnem renderiranju in dodana podpora za obratno uporabo učinkov s delci, da se ustvari učinek trčenja dežja ali snega z modelom.
- V Qt Graphs je dodana površina z izpolnjenjem in omogočeno je pretvorbo preseka tridimenzionalnih grafikonov v 2D-sliko za tisk.
- V Qt Widgets je poenostavljena izvedba uporabniških delegate-objektov, izboljšano je upravljanje z operacijami povleci in spusti ter dodana možnost individualne prilagoditve velikosti postavitev.
- V Qt Core je izboljšano delo z lokalizacijami, XML-dokumenti in zaporedji asinhronih operacij (continuation chain).
- Razširjena so sredstva za ljudi z omejenimi sposobnostmi. Vgrajeni stili kontrastne predstavitve informacij so prilagojeni za uporabo sistemskih nastavitev kontrasta, da bi Qt-aplikacije vizualno ustrezale skupnemu slogu. Kontrolniki in widgeti Qt so izboljšani za uporabo z bralniki zaslona.
- Dodana je podpora za mobilne platforme Android 15 in 16, vključno z možnostjo delovanja na napravah, ki uporabljajo pomnilniške strani velikosti 16 KB.
- Predstavljen je orodjar Qt Jenny 1.0, ki poenostavi integracijo Qt-aplikacij z Android Java API in podpira samodejno generacijo C++ API iz annotiranih Java razredov, ki omogočajo neposreden dostop iz Qt-kode do storitev Android, kot so BatteryManager, PowerManager in AudioManager.
- Dodane so možnosti za pravilno prikazovanje zaščitnega zaslona na platformi Android.
- Zagotovljena je polna podpora za platforme macOS 26 in iOS 26, kjer je v uporabi vizualni jezik Liquid Glass in spremenjena arhitektura upodabljanja.
- V modul Qt WebView na platformi Windows je dodana možnost vlaganja v Qt aplikacije spletne vsebine z uporabo motorja WebView2, ki temelji na Microsoft Edge, namesto motorja WebEngine, ki temelji na Chromu.
- V modul Qt Multimedia je dodan vmesnik za uporabo multimedijskega strežnika PipeWire na platformi Linux.
- Posodobljen je sklad Boot2Qt, ki se lahko uporablja za ustvarjanje zagonskih mobilnih sistemov z okoljem, ki temelji na Qt in QML. Sistem okolje v Boot2Qt je posodobljeno na platformo Yocto 5.2. Dodana je podpora za platforme Ezurio Nitrogen.
Izvor: opennet.ru
