Qt Company heeft de release van het Qt 6.10-framework aangekondigd, waarmee de stabilisatie en functionaliteitsuitbreiding van de Qt 6-tak voortgezet wordt. Qt 6.10 biedt ondersteuning voor de platforms 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 en QNX. De broncode van de Qt-componenten wordt geleverd onder de LGPLv3- en GPLv2-licenties. Qt 6.10 heeft de status van een tussentijdse release, waarvan de openbare ondersteuning 6 maanden zal duren (+ nog eens 6 maanden voor commerciƫle gebruikers).
Belangrijkste wijzigingen in Qt 6.10:
- Een QML-type FlexboxLayout is toegevoegd voor responsieve lay-out van interface-elementen volgens het Flexbox-concept, dat in CSS wordt toegepast om verticale uitlijning van elementen te vereenvoudigen. De implementatie ondersteunt concepten die al in Qt Quick worden gebruikt, zoals het vastleggen van eigenschappen om het gedrag van afzonderlijke elementen in de lay-out aan te passen.
- In de modules Qt Quick Scene Graph en Qt Quick Shapes zijn mogelijkheden toegevoegd voor het werken met geanimeerde vectorafbeeldingen, die zijn opgebouwd uit afbeeldingen in de indelingen SVG en Lottie. In de Qt Lottie-module is de ondersteuning voor bestanden in het Lottie-formaat uitgebreid. De mogelijkheid is toegevoegd om het Lottie-formaat te gebruiken in het VectorImage-type voor het weergeven van Lottie-bestanden met schaalvergroting en hardwareversnelling.
- De Qt Quick Controls-collectie bevat een nieuw element SearchField met een gespecialiseerd invoerveld dat kan worden gebruikt met de zoekfunctionaliteit, waardoor relevante gegevens in een pop-upvenster kunnen worden weergegeven, gefilterd op basis van de al ingevoerde tekst in het veld. Het element ondersteunt verschillende ingebouwde Qt-stijlen en maakt een ontwerp mogelijk dat native aanvoelt voor alle belangrijke platforms.
- Klassen zijn toegevoegd voor een vereenvoudigde integratie van C++-datamodellen met QML en Qt Quick:
- QRangeModel ā een wrapper rondom QAbstractItemModel voor direct gebruik in interface-elementen op basis van QML en Qt Quick voor elke opsommingstype uit C++, inclusief std::vector, std::tuples en std::array. std::vector values = {1, 2, 3, 4, 5}; auto model = new QRangeModel(values); QListView *listView = new QListView; listView->setModel(model);
- In het QML-type DelegateModel is de eigenschap delegateModelAccess toegevoegd, die de waarde DelegateModel.ReadWrite kan aannemen om schrijven naar het model toe te staan via contexteigenschappen, het modelobject of verplichte eigenschappen.
- Er is een QML-type Synchronizer toegevoegd, dat de synchronisatie van de staat van een besturingselement met de waarde uit het model oplost. De Synchronizer garandeert dat meerdere eigenschappen dezelfde waarde bevatten - het wijzigen van een van de gesynchroniseerde eigenschappen resulteert automatisch in de wijziging van alle andere.
- Er is een QML-type TreeModel toegevoegd, waarmee hiƫrarchische structs in C++ rechtstreeks in een QML-document kunnen worden geplaatst, gebruikmakend van sleutel-waarde paren en de syntaxis van woordenboeken en tabellen die lijkt op JSON.
- Er is een QML-type SortFilterProxyModel toegevoegd, waarmee gegevens rechtstreeks vanuit QML kunnen worden gesorteerd en gefilterd, zonder C++-code.
- In Qt Quick 3D zijn de mogelijkheden voor het maken van belichtingskaarten tijdens rendering in hoge kwaliteit uitgebreid en is ondersteuning toegevoegd voor het omgekeerd toepassen van effecten met deeltjes om het effect van regen of sneeuw op een model te creƫren.
- In Qt Graphs is een vuloppervlakstype toegevoegd en is de mogelijkheid geĆÆmplementeerd om een doorsnede van driedimensionale grafieken om te zetten in een 2D-afbeelding voor afdrukweergave.
- In Qt Widgets is de uitvoering van aangepaste delegate-objecten vereenvoudigd, zijn de drag-and-drop-bewerkingen verbeterd en is de mogelijkheid toegevoegd om de grootte van lay-outs individueel aan te passen.
- In Qt Core is het werken met lokale instellingen, XML-documenten en reeksen van asynchrone operaties (continuatieketen) verbeterd.
- De middelen voor mensen met een beperking zijn uitgebreid. De ingebouwde stijlen voor het contrasterend weergeven van informatie zijn aangepast voor gebruik met systeeminstellingen voor contrast, zodat Qt-toepassingen visueel overeenkomen met de algemene stijl. Besturingselementen en widgets van Qt zijn verbeterd voor gebruik met schermlezers.
- Ondersteuning voor de mobiele platforms Android 15 en 16 is toegevoegd, inclusief de mogelijkheid om te werken op apparaten met een geheugenpagina van 16 KB.
- De Qt Jenny 1.0 toolkit is geĆÆntroduceerd, die de integratie van Qt-toepassingen met de Android Java API vereenvoudigt en automatische generatie van C++ API uit geannoteerde Java-klassen ondersteunt, waardoor rechtstreeks vanuit Qt-code kan worden verwezen naar Android-services zoals BatteryManager, PowerManager en AudioManager.
- Er zijn mogelijkheden toegevoegd voor een correcte weergave van de screensaver op het Android-platform.
- Volledige ondersteuning voor macOS 26 en iOS 26 is gegarandeerd, waarin de visuele taal Liquid Glass wordt gebruikt en de renderarchitectuur is aangepast.
- De Qt WebView-module op het Windows-platform heeft de mogelijkheid gekregen om webinhoud in Qt-toepassingen in te bedden met behulp van de WebView2-engine op basis van Microsoft Edge in plaats van de Chromium-gebaseerde WebEngine.
- In de Qt Multimedia-module is een backend toegevoegd voor het gebruik van multimedia. de server PipeWire op het Linux-platform.
- De Boot2Qt-stack is bijgewerkt, die kan worden gebruikt voor het creƫren van opstartbare mobiele systemen met een omgeving op basis van Qt en QML. De systeemomgeving in Boot2Qt is bijgewerkt naar het Yocto 5.2-platform. Ondersteuning voor Ezurio Nitrogen-borden is toegevoegd.
Bron: opennet.ru
