Qt Company avaldas Qt 6.10 raamistikku, milles jätkub tööd Qt 6 haru stabiliseerimise ja funktsionaalsuse suurendamise nimel. Qt 6.10 pakub toetust platvormidele 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 ja QNX. Qt komponentide lähtekood tarnitakse LGPLv3 ja GPLv2 litsentside alusel. Qt 6.10 sai vaheversiooni staatuse, mille üldine tugi kestab 6 kuud (+ veel 6 kuud äriklientidele).
Peamised muudatused Qt 6.10:
- Lisatud QML tüüp FlexboxLayout, mis võimaldab kohandada kasutajaliidese elementide paigutust vastavalt CSS-is kasutusele võetud Flexbox kontseptsioonile, et lihtsustada elementide vertikaalset joondamist. Teostus toetab juba Qt Quickis kasutusele võetud kontseptsioone, nagu omaduste kinnitamine, et seadistada üksikute elementide käitumist paigutuses.
- Qt Quick Scene Graph ja Qt Quick Shapes moodulites on rakendatud võimalusi animatsiooniga vektorgraafikaga töötamiseks, mis on genereeritud SVG ja Lottie formaadis piltidest. Qt Lottie moodulis on laiendatud Lottie formaadifailide tuge. Lisatud on võimalus kasutada Lottie formaati VectorImage tüübina Lottie failide kuvamiseks koos skaleerimise ja riistvarakiirendusega.
- Qt Quick Control kogumisse on lisatud uus element SearchField, mis on spetsialiseeritud sisestusvälja rakendamiseks otsingufunktsionaalsuse jaoks, võimaldades kuvada asjakohaseid andmeid hüpikaknas, mis filtreeritakse sõltuvalt juba sisestatud tekstist. Element toetab erinevaid Qt sisseehitatud stiile ja võimaldab saavutada väljanägemise, mis on kohandatud kõigile peamistele platvormidele.
- Lisatud klassid, mis lihtsustavad C++ andmemudelite integreerimist QML-i ja Qt Quicki:
- QRangeModel — QAbstractItemModel'i ümberpööramine, et kasutada C++ mistahes loetletud tüüpe otse QML ja Qt Quicki kasutajaliidese elementides, sealhulgas std::vector, std::tuples ja std::array. std::vector values = {1, 2, 3, 4, 5}; auto model = new QRangeModel(values); QListView *listView = new QListView; listView->setModel(model);
- QML tüüpi DelegateModeli juurde on lisatud delegateModelAccess omadus, mis võib võtta väärtuse DelegateModel.ReadWrite, et lubada kirjutamist mudelisse konteksti omaduste, mudeli objekti või kohustuslike omaduste kaudu.
- Lisatud on QML-tüüp Synchronizer, mis lahendab juhtseadmestiku oleku sünkroniseerimise probleemi mudeli väärtusega. Synchronizer tagab, et mitu omadust sisaldavad sama väärtust – ühe sünkroniseeritud omaduse muutmine toob automaatselt kaasa muudatuse kõikides teistes.
- Lisatud on QML-tüüp TreeModel, mis võimaldab paigutada C++ puustruktuure otse QML-dokumenti, kasutades võtme-väärtuse paare ning sõnastike ja massiivide süntaksit, mis meenutab JSON-i.
- Lisatud on QML-tüüp SortFilterProxyModel, mis võimaldab andmeid sorteerida ja filtreerida otse QML-ist, ilma C++ koodi kasutamata.
- Qt Quick 3D-s on laiendatud võimalusi valguskaardide loomiseks kvaliteetses renderduses ning lisatud on tugi tagasipööratud efektide rakendamiseks osakestega, et luua efekti vihma või lume põrkamisest mudeliga.
- Qt Graphs-s on lisatud täitmisega pinnatüüp ning ellu viidud on võimalus kolmemõõtmeliste graafikute lõike konverteerimiseks 2D-pildiks, et see saaks trükkimiseks välja anda.
- Qt Widgets-is on lihtsustatud kasutajate delegaatide rakendamist, parendatud on lohistamis- ja tilgutamisoperatsioonide haldamist ning lisatud on võimalus paigutuste suurust kohandada.
- Qt Core-is on parandatud töötlust lokaliseerimiste, XML-dokumentide ja asünkroonsete operatsioonide järjestuste osas (continuation chain).
- On laiendatud vahendeid puuetega inimestele. Integreeritud kontrastse esituse stiilid on kohandatud süsteemi kontrastsuse seadistuste kasutamiseks, et Qt-rakendused visuaalselt vastaksid üldisele stiilile. Qt juhtseadmestikud ja vidinad on täiustatud ekraanilugemise jaoks.
- Lisatud on tugi mobiilsets platvormidele Android 15 ja 16, sealhulgas võime töötada seadmetes, kus kasutatakse 16 KB suuruseid mälulehti.
- Esitletud on Qt Jenny 1.0 tööriistakomplekt, mis lihtsustab Qt-rakenduste integreerimist Androidi Java API-ga ning toetab automaatset C++ API genereerimist annotatsioonidega Java klassidest, mis võimaldab otse Qt-koodist juurde pääseda Androidi teenustesse, nagu BatteryManager, PowerManager ja AudioManager.
- Lisatud on võimalused peegelduskorrektseks väljundiks Android platvormil.
- Täielik tugi platvormidele macOS 26 ja iOS 26, kus kasutatakse visuaalset keelt Liquid Glass ja on muudetud renderdamise arhitektuuri.
- Windowsi platvormi Qt WebView moodulisse on lisatud võimalus integreerida Qt-rakendustesse veebisisu, kasutades Microsoft Edge'i põhjal töötavat WebView2 mootorit, selle asemel et tugineda Chromiumi põhjal töötavale WebEngine’il.
- Qt Multimeedia moodulisse on lisatud taustaprogramm meedia kasutamiseks. serverilt PipeWire Linuxi platvormil.
- Boot2Qt' ladustust on uuendatud, mida saab kasutada Qt ja QML-põhiste laaditavate mobiilsüsteemide loomiseks. Boot2Qt süsteemikeskkond on uuendatud Yocto 5.2 platvormile. Lisatud tugi Ezurio Nitrogen platvormidele.
Allikas: opennet.ru
