A Qt Company közzétette a Qt 6.10 keretrendszer kiadását, amelyben folytatódott a Qt 6 ágazat stabilizálása és funkcionalitásának bővítése. A Qt 6.10 támogatja a 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 és QNX platformokat. A Qt komponensek forráskódja LGPLv3 és GPLv2 licenc alatt kerül megadásra. A Qt 6.10 átmeneti kiadási státuszt kapott, amelynek nyilvános támogatása 6 hónapig lesz elérhető (+ további 6 hónap a kereskedelmi felhasználók számára).
Főbb változások a Qt 6.10-ben:
- Új QML típus került hozzáadásra: FlexboxLayout, amely az elemek rugalmas elrendezését segíti elő a CSS Flexbox koncepciója szerint, megkönnyítve az elemek függőleges igazítását. A megvalósítás támogatja a Qt Quickben már használt koncepciókat, mint például a tulajdonságok rögzítését az egyes elemek viselkedésének testreszabásához a layoutban.
- A Qt Quick Scene Graph és a Qt Quick Shapes moduljaiban megvalósították az animált vektorgrafikával való munkát, amely SVG és Lottie formátumú képekből áll össze. A Qt Lottie modulban bővítették a Lottie formátumú fájlok támogatását. Lehetőség nyílt a Lottie formátum használatára a VectorImage típusban, Lottie fájlok megjelenítésére, skálázással és hardveres gyorsítással.
- A Qt Quick Control készlet tartalmaz egy új SearchField elemet, amely egy speciális bemeneti mezőt valósít meg a keresési funkciókhoz, lehetővé téve a releváns adatok megjelenítését egy felugró ablakban, amelyet az eddig beírt szöveg alapján szűrnek. Az elem támogatja a Qt különböző beépített stílusait, lehetővé téve az összes fő platformra jellemző megjelenést.
- Osztályok kerültek hozzáadásra a C++ adatmodellek QML és Qt Quick felé való egyszerűsített integrációjához:
- QRangeModel — a QAbstractItemModel fölötti burkolat, amely közvetlenül felhasználható a QML és Qt Quick alapú felhasználói felületekben bármilyen felsorolható típusú elemből C++-ban, beleértve a std::vector, std::tuples és std::array elemeket. std::vector values = {1, 2, 3, 4, 5}; auto model = new QRangeModel(values); QListView *listView = new QListView; listView->setModel(model);
- A QML DelegateModel típushoz hozzáadták a delegateModelAccess tulajdonságot, amely a DelegateModel.ReadWrite értéket is felveheti, lehetővé téve a modellhez való írást a kontextus, a modell objektum vagy a kötelező tulajdonságok által.
- Hozzáadva a QML Synchronizer típus, amely megoldja a vezérlőelem állapotának szinkronizálását a modellből származó értékkel. A Synchronizer garantálja, hogy több tulajdonság azonos értéket tartalmaz — az egyik szinkronizált tulajdonság megváltozása automatikusan a többi megváltozását is eredményezi.
- Hozzáadva a QML TreeModel típus, amely lehetővé teszi a fájlstruktúrák C++-ban történő közvetlen elhelyezését a QML-dokumentumban, kulcs-érték párok és szótár- valamint tömbszerű szintaxissal, hasonlítva a JSON-hoz.
- Hozzáadva a QML SortFilterProxyModel típus, amely lehetővé teszi az adatok közvetlen rendezését és szűrését QML-ből, C++ kód használata nélkül.
- A Qt Quick 3D lehetőségei kibővültek a világítástérképek létrehozására a magas minőségű rendereléshez, valamint támogatták a részecske-effektek visszafelé történő alkalmazását az eső vagy hó hatásának létrehozása érdekében a modellen.
- A Qt Graphs egy kitöltött felülettípust adott hozzá, és lehetővé tette a háromdimenziós grafikonok szeletelésének 2D képné történő átalakítását a nyomtatásra.
- A Qt Widgets egyszerűsítette a felhasználói delegate-objektumok megvalósítását, javította a drag&drop műveletek kezelését, és lehetővé tette a makettek méretének egyedi testreszabását.
- A Qt Core javította a helyi beállításokkal, XML-dokumentumokkal és aszinkron műveletek szekvenciáival (folytatási lánc) való munkát.
- Bővítették a fogyatékkal élők számára készült eszközöket. Az információk kontrasztos megjelenítésére szolgáló beépített stílusok alkalmazkodtak a rendszer kontraszt beállításaihoz, így a Qt-alkalmazások vizuálisan igazodnak az általános stílushoz. A Qt vezérlőelemei és widgetjei fejlesztésre kerültek a képernyőolvasók használata érdekében.
- Hozzáadva a 15-ös és 16-os Android mobilplatformok támogatása, beleértve a 16 KB memóriaoldallal rendelkező eszközök működésének lehetőségét.
- Bemutatásra került a Qt Jenny 1.0 eszközkészlet, amely megkönnyíti a Qt alkalmazások és az Android Java API integrálását, és támogatja a C++ API automatikus generálását a Java osztályok annotálásából, lehetővé téve, hogy a Qt kód közvetlenül érje el az Android-szolgáltatásokat, mint például a BatteryManager, PowerManager és AudioManager.
- Hozzáadva funkciók az Android platformon való helyes képernyővédő megjelenítéséhez.
- Teljes támogatás biztosítva a macOS 26 és iOS 26 platformokhoz, amelyekben vizuális nyelvként a Liquid Glass használatos, és megváltozott a renderelési architektúra.
- A Qt WebView modulhoz a Windows platformon hozzáadva a lehetőség, hogy a Qt-alkalmazásokban webtartalmakat integráljanak a Microsoft Edge alapú WebView2 motorral, a Chromium alapú WebEngine helyett.
- A Qt Multimedia modulhoz multimédiás használatra készült backend került hozzáadásra. a szerver PipeWire a Linux platformon.
- Frissítve a Boot2Qt stack, amely mobil rendszerek indításához használható Qt és QML alapú környezettel. A Boot2Qt rendszerkörnyezete az Yocto 5.2 platformra frissült. Támogatás került hozzá az Ezurio Nitrogen deszkákhoz.
Forrás: opennet.ru
