08.12.2021

Релиз фреймворка Qt 6.1

Компания Qt Company опубликовала релиз фреймворка Qt 6.1, в которой продолжена работа по стабилизации и наращиванию функциональности ветки Qt 6. В Qt 6.1 обеспечена поддержка платформ Windows 10, macOS 10.14+, Linux (Ubuntu 20.04+, CentOS 8.1+, OpenSuSE 15.1+), iOS 13+ и Android (API 23+). Исходные тексты компонентов Qt поставляются под лицензиями LGPLv3 и GPLv2.

Ключевые улучшения в Qt 6.1 в основном касаются включения в состав модулей, которые были доступны в Qt 5.15, но оказались не готовы для включения в состав первого выпуска Qt 6. В частности, в состав включены модули:

  • Active Qt — поддержка элементов управления COM и ActiveX на платформе Windows.
  • Qt Charts — создание диаграмм.
  • Qt Data Visualization — визуализация статических и динамических данных.
  • Qt Device Utilities — часть пакета Qt for Device Creation.
  • Qt Graphical Effect — прослойка для упрощения портирования приложений на Qt 6.
  • Qt Lottie — отрисовывает графику и анимацию, экспортированную в формате JSON при помощи плагина Bodymovin к пакету Adobe After Effects. Включает в себя встроенный микродвижок для выполнения анимации, обрезки, обработки слоёв и других эффектов.
  • Qt State Machine — фреймворк для создание событийно-ориентированных конструкций и реализация конечного автомата на базе SCXML.
  • Qt Virtual Keyboard — реализация виртуальной клавиатуры.

Модули которые ещё не перенесены и ожидаются в LTS-выпуске Qt 6.2, намеченном на сентябрь.

  • Qt Bluetooth
  • Qt Data Visualization
  • Qt Lottie Animation
  • Qt Multimedia
  • Qt NFC
  • Qt Positioning
  • Qt Quick Dialogs: Folder, Message Box
  • Qt Remote Objects
  • Qt Sensors
  • Qt SerialBus
  • Qt SerialPort
  • Qt WebChannel
  • Qt WebEngine
  • Qt WebSockets
  • Qt WebView

Изменения в Qt 6.1:

  • В Qt Core проведена работа по повышению удобства использования и упрощению API. Добавлены методы removeIf() и расширено число классов, поддерживающих метод erase_if(). Реализованы отсутствующие методы, доступные в QString, но отсутствующие в QStringView. Добавлены защищённые от переполнения функции сложения, вычитания и умножения. Улучшена поддержка 16-разрядных значений с плавающей запятой. Обновлён API для привязки свойств (property binding), появившийся в Qt 6.0. Добавлены новые классы для упрощения интеграции с Java, QJniEnvironment и QJniObject, обычно востребованные на платформе Android.
  • В Qt Gui улучшена поддержка графического API Vulkan 1.1 и 1.2.
    Добавлен новый класс QUrlResourceProvider, который используется в QLabel и позволяет обойтись без повторной реализации loadResource() и создания подклассов QTextDocument. Реализована возможность применения определённых пользователем функций коррекции компонентов цветовых пространств в классе QColorSpace.
  • В Qt Network предложен класс QNetworkInformation, позволяющий определить состояние сети в системе. В обработчике HTTP Cookie добавлена поддержка режима SameSite.
  • В Qt Qml реализованы опции QJSPrimitiveValue и QJSManagedValue для более тонкого управления за выполнением JavaScript.
  • В Qt Quick 3D добавлена поддержка морфинга целевой анимации и реализована экспериментальная поддержка дублирующего рендеринга (instanced rendering), позволяющего на один проход отрисовать множество копий однотипных объектов, размещённых в периферийных частях сцены. Метод существенно ускоряет рендеринг при наличии в сцене большого числа похожих объектов. На базе указанного метода реализована поддержка отрисовки трёхмерных частиц.

Источник.