Компания Qt Company опубликовала релиз фреймворка Qt 6.10, в котором продолжена работа по стабилизации и наращиванию функциональности ветки Qt 6. В Qt 6.10 предоставлена поддержка платформ 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 и QNX. Исходные тексты компонентов Qt поставляются под лицензиями LGPLv3 и GPLv2. Qt 6.10 получил статус промежуточного выпуска, общедоступная поддержка которого будет осуществляться 6 месяцев (+ ещё 6 месяцев для коммерческих пользователей).
- Добавлен QML-тип FlexboxLayout для адаптивной раскладки элементов интерфейса в соответствии с концепцией Flexbox, применяемой в CSS для упрощения вертикального выравнивания элементов. Реализация поддерживает концепции, уже используемые в Qt Quick, такие как прикрепление свойств для настройки поведения отдельных элементов в макете.
- В модулях Qt Quick Scene Graph и Qt Quick Shapes реализованы возможности для работы с анимированной векторной графикой, формируемой из изображений в форматах SVG и Lottie. В модуле Qt Lottie расширена поддержка файлов в формате Lottie. Добавлена возможность использования формата Lottie в типе VectorImage для отображения файлов Lottie с масштабированием и аппаратным ускорением.
- В набор Qt Quick Control включён новый элемент SearchField с реализацией специализированного поля ввода для использования с функциональностью поиска, позволяющего отображать релевантные данные во всплывающем окне, отфильтровываемые в зависимости от уже введённого в поле текста.
Элемент поддерживает различные встроенные стили Qt и позволяет добиться оформления, родного для всех основных платформ. - Добавлены классы для упрощения интеграции моделей данных C++ с QML и Qt Quick:
- QRangeModel – обвязка над QAbstractItemModel для прямого использования в элементах интерфейса на базе QML и Qt Quick любых перечисляемых типов из C++, включая std::vector, std::tuples и std::array. std::vector values = {1, 2, 3, 4, 5}; auto model = new QRangeModel(values); QListView *listView = new QListView; listView->setModel(model);
- В QML-тип DelegateModel добавлено свойство delegateModelAccess, которое может принимать значение DelegateModel.ReadWrite для разрешения записи в модель через свойства контекста, объект модели или обязательные свойства.
- Добавлен QML-тип Synchronizer, решающий задачу синхронизации состояния элемента управления со значением из модели. Synchronizer гарантирует, что несколько свойств содержат одинаковое значение – изменение одного из синхронизированных свойств автоматически приводит к изменению всех остальных.
- Добавлен QML-тип TreeModel, позволяющий размещать древовидные структуры C++ непосредственно в QML-документе, используя пары ключ-значение и синтаксис словарей и массивов, напоминающий JSON.
- Добавлен QML-тип SortFilterProxyModel, позволяет сортировать и фильтровать данные непосредственно из QML, без использования кода на C++.
- В Qt Quick 3D расширены возможность для создания карт освещения при рендеринге в высоком качестве и добавлена поддержка реверсивного применения эффектов с частицами для создания эффекта столкновения дождя или снега с моделью.
- В Qt Graphs добавлен тип поверхности с заполнением и реализована возможность преобразования среза трехмерных графиков в 2D-изображение для вывода на печать.
- В Qt Widgets упрощена реализация пользовательских delegate-объектов, улучшено управление операциями drag&drop и добавлена возможность индивидуальной настройки размера макетов.
- В Qt Core улучшена работа с локалями, XML-документами и последовательностями асинхронных операций (continuation chain).
- Расширены средства для людей с ограниченными возможностями. Встроенные стили контрастного представления информации адаптированы для использования системных настроек контраста, чтобы Qt-приложения визуально соответствовали общему стилю. Элементы управления и виджеты Qt усовершенствованы для использования с экранными ридерами.
- Добавлена поддержка мобильных платформ Android 15 и 16, включая возможность работы на устройствах, на которых используются страницы памяти размером 16 КБ.
- Представлен инструментарий Qt Jenny 1.0, упрощающий интеграцию Qt-приложений с Android Java API и поддерживающий автоматическую генерацию C++ API из аннотированных Java-классов, позволяющих напрямую обращаться из Qt-кода к таким Android-сервисам, как BatteryManager, PowerManager и AudioManager.
- Добавлены возможности для корректного вывода заставки на платформе Android.
- Обеспечена полна поддержка платформ macOS 26 и iOS 26, в которых задействован визуальный язык Liquid Glass и изменена архитектура отрисовки.
- В модуль Qt WebView на платформе Windows добавлена возможность встраивания в Qt-приложения web-контента с использованием движка WebView2 на базе Microsoft Edge вместо движка WebEngine на базе Chromium.
- В модуль Qt Multimedia добавлен бэкенд для использования мультимедийного сервера PipeWire на платформе Linux.
- Обновлён стек Boot2Qt, который может использоваться для создания загружаемых мобильных систем с окружением на базе Qt и QML. Системное окружение в Boot2Qt обновлено до платформы Yocto 5.2.
Добавлена поддержка плат Ezurio Nitrogen.
Release.
Ссылка here.