Дата публикации:Mon, 13 Oct 2025 14:11:13 +0300
Компания 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 месяцев для коммерческих пользователей).
Основные изменения в Qt 6.10:
- Добавлен 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<int> 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++.
Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=64021