Вышел Qt 6.12

30 сентября 2026 года Qt Company представила релиз фреймворка Qt 6.12 LTS (с долговременной поддержкой в течение 5 лет), в котором продолжена работа по стабилизации и наращиванию функциональности стабильной ветки Qt 6, появилась встроенная функция «горячей» перезагрузки QML (Hot Reload), ускорен с помощью GPU компонент CanvasPainter и улучшен модуль Qt Graphs..

В новой версии Qt обеспечена поддержка платформ Windows 10/11, macOS 12+, Linux (Ubuntu 22.04/24.04, openSUSE 15.5, SUSE 15 SP5, RHEL 8.10/9.4, Debian 11.6), iOS 16+, Android 9 и новее (API 23+), webOS, WebAssembly, INTEGRITY, VxWorks, FreeRTOS и QNX. Исходные тексты компонентов Qt опубликованы на GitHub под лицензиями LGPLv3 и GPLv2.

Выпуск проекта Qt 6.9 состоялся в апреле 2025 года. Версия Qt 6.10 вышла в октябре 2025 года. Версию Qt 6.11 выпустили в марте 2026 года.

Версия Qt 6.12 получил статус LTS-выпуска, для которого обновления будут формироваться в течение пяти лет для обладателей коммерческой лицензии. Для некоммерческих пользователей время сопровождения составит полгода (до формирования нового значительного выпуска). Поддержка прошлой LTS-ветки Qt 6.8 продлится до октября 2029 года, а поддержка позапрошлой LTS-ветки Qt 6.5 прекращена в этом году.

По информации OpenNET, основные изменения и дополнения в Qt 6.12:

  • признан готовым для широкого применения модуль Qt Canvas Painter, предоставляющий API для аппаратно ускоренной отрисовки 2D‑контента и использующий шейдеры для создания сложных визуальных эффектов. Отрисовка осуществляется при помощи движка RHI (Rendering Hardware Interface), поддерживающего различные 3D API (OpenGL, Vulkan, Metal и Direct 3D). На базе Canvas Painter реализован экспериментальный элемент Canvas2D, созданный с оглядкой на HTML‑спецификацию Canvas 2D Context и упрощающий использования JavaScript для отрисовки фигур;

  • добавлен экспериментальный модуль StyleKit, явно разделяющий структуру компонентов интерфейса пользователя и атрибуты стилей, что позволяет избавиться от дублирования кода при реализации светлых, тёмных и высококонтрастных тем оформления. StyleKit предоставляет единый QML API для описания стилей, позволяющий добиться единого стиля в гибридных приложениях, сочетающих классические виджеты и элементы на базе Qt Quick;

  • расширены возможности модуля Qt Graphs. Для 2D‑графиков реализованы новые свойства для кастомизации меток осей и добавлена поддержка логарифмических осей. Добавлены встроенные действия для масштабирования и панорамирования. Добавлена опция для отрисовки при помощи высокопроизводительного бэкенда на базе модуля CanvasPainter, позволяющего визуализировать большие объёмы быстро меняющихся данных;

  • в Qt Quick добавлены QML‑типы Safe Area, Context Menu, Double Spin Box и Search Field для вывода неперекрываемого содержимого, контекстных меню, форм ввода чисел и полей отправки поисковых запросов. Расширен QML‑тип FlexboxLayout, предназначенный для адаптивной раскладки элементов интерфейса в соответствии с концепцией Flexbox, применяемой в CSS для упрощения вертикального выравнивания элементов;

  • в модуль Vector Image, позволяющий интегрировать в сцены Qt Quick векторные изображения для создания масштабируемых элементов интерфейса, добавлены дополнительные свойства и возможности анимации для изображений в форматах SVG и Lottie;

  • расширен класс QRangeModel, предоставляющий обвязку над QAbstractItemModel для прямого использования в элементах интерфейса на базе QML и Qt Quick любых перечисляемых типов из C++, включая std::vector, std::tuples и std::array. В новой версии встроена поддержка сортировки данных, реализованы новые свойства для контроля за перемещением в режиме «Drag & Drop», ускорен поиск через метод match(), а также предоставлены настройки для заголовков и отдельных строк/элементов;

  • в модуль gRPC добавлены средства для сжатия сообщений на стороне клиента и ограничения размера входящих сообщений от сервера;

  • в QML‑движке реализован механизм Hot Reload, позволяющий редактировать QML‑код на лету во время выполнения программы и наблюдать через qmlpreview результат без перезапуска и остановки выполнения приложения;

  • предоставлена LTS‑поддержка платформы HarmonyOS, что упрощает перенос существующих Qt‑приложения на смартфоны, планшеты, ПК и автомобильные информационно‑развлекательные системы Huawei;

  • выполнены требования европейского закона Cyber Resilience Act (CRA), нацеленные на поддержание безопасности продукта, оперативное устранение уязвимостей на протяжении жизненного цикла и раскрытие сведений об уязвимостях и инцидентах с безопасностью. В исходном коде выделены компоненты, критически важные с точки зрения безопасности, организована публикация информации о тестировании безопасности и гарантирована интеграция актуальных версий сторонних библиотек.

Источник: habr.com

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев