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

Kate

Administrator
Команда форума
Компания Qt Company опубликовала релиз фреймворка Qt 6.5, в котором продолжена работа по стабилизации и наращиванию функциональности ветки Qt 6. В Qt 6.5 обеспечена поддержка платформ Windows 10+, macOS 11+, Linux (Ubuntu 20.04, openSUSE 15.4, SUSE 15 SP4, RHEL 8.4/9.0), iOS 14+, Android 8+ (API 23+), webOS, WebAssembly, INTEGRITY и QNX. Исходные тексты компонентов Qt поставляются под лицензиями LGPLv3 и GPLv2.

Qt 6.5 получил статус LTS-выпуска, в рамках которого для пользователей коммерческой лицензии обновления будут формироваться в течение трёх лет (для остальных обновления будут публиковаться полгода до формирования очередного значительного выпуска). Поддержка прошлой LTS-ветки Qt 6.2 продлится до 30 сентября 2024 года. Ветка Qt 5.15 будет сопровождаться до мая 2025 года.

Основные изменения в Qt 6.5:

  • Стабилизирован и переведён в разряд полностью поддерживаемых модуль Qt Quick 3D Physics, предоставляющий API для симуляции физических процессов, который можно использовать вместе с Qt Quick 3D для реалистичного взаимодействия и перемещения объектов в 3D-сценах. Реализация основана на движке PhysX.
  • Добавлена поддержка тёмного режима оформления платформы Windows. Включено автоматическое применение активированного в системе тёмного оформления и настройка рамок и заголовка, если в приложении используется стиль, не меняющий палитру. В приложении настроить собственную реакцию на изменения в системной теме можно через обработку свойства QStyleHints::colorScheme.
  • В Qt Quick Controls стиль Material для Android приведён в соответствие с рекомендациями Material 3. Реализован полноценный стиль для iOS. Добавлены API для изменения внешнего вида (например, containerStyle для TextField или TextArea, или roundedScale для кнопок и всплывающих блоков).
  • На платформе macOS в приложениях, использующих QMessageBox или QErrorMessage, обеспечен показ родных для платформы диалогов.
  • Для Wayland добавлен программный интерфейс QNativeInterface::QWaylandApplication для прямого обращения к родным для Wayland объектам, которые используются во внутренних структурах Qt, а также для получения доступа к информации о последних действия пользователя, которая может быть востребована для передачи расширениям протокола Wayland. Новый программный интерфейс реализован в пространстве имён QNativeInterface, в котором также предоставляются вызовы для доступа к родным API платформ X11 и Android.
  • Добавлена поддержка платформы Android 12 и несмотря на значительные изменения в данной ветке сохранена возможность создания универсальных сборок для Android, которые могут работать на устройствах с разными версиями Android, начиная с Android 8.
  • Обновлён стек Boot2Qt, который может использоваться для создания загружаемых мобильных систем с окружением на базе Qt и QML. Системное окружение в Boot2Qt обновлено до платформы Yocto 4.1 (Langdale).
  • Началось формирование пакетов для Debian 11, на которые распространяется коммерческая поддержка.
  • Расширены возможности платформы WebAssembly, позволяющей создавать Qt-приложения, работающие в web-браузере и переносимые между разными аппаратными платформами. Приложения, собираемые для платформы WebAssembly, благодаря JIT-компиляции выполняются с близкой к нативному коду производительностью, могут использовать Qt Quick, Qt Quick 3D и доступные в Qt средства визуализации. В новой версии добавлена поддержка отрисовки видео и использования в виджетах средств для людей с ограниченными возможностями.
  • Web-движок Qt WebEngine обновлён до кодовой базы Chromium 110. На платформе Linux реализована поддержка аппаратного ускорения отрисовки видео при использовании графического API Vulkan в окружениях на базе X11 и Wayland.
  • Добавлен модуль Qt Quick Effects, предоставляющий готовые графические эффекты для интерфейса на базе Qt Quick. Собственные эффекты можно создавать с нуля или получать путём комбинирования уже существующих эффектов при помощи инструментария Qt Quick Effect Maker.
  • В модуле Qt Quick 3D предоставлена возможность настройки уровня детализации моделей (например, для объектов, расположенных далеко от камеры, можно генерировать более простые мэши). В API SceneEnvironment реализована поддержка тумана и постепенного исчезания далёких объектов. В ExtendedSceneEnvironment предоставлены возможности для создания сложных эффектов постобработки и комбинирования таких эффектов, как глубина резкости, свечение и блики.
  • Добавлен экспериментальный модуль Qt GRPC с поддержкой протоколов gRPC и Protocol Buffer, позволяющий обращаться к сервисам gRPC и выполнять сериализацию Qt-классов, используя Protobuf.
  • В модуле Qt Network добавлена поддержка настройки соединений HTTP 1.
  • В модуль Qt Serial Bus добавлены экспериментальные классы для работы с шиной CAN, которые могут применяться для кодирования и декодирования сообщений CAN, обработки кадров и разбора файлов DBC.
  • Возрождён модуль Qt Location, предоставляющий приложениям средства для интеграции карт, навигации, пометки интересных мест (POI). Модуль поддерживает интерфейс плагинов, через который можно подключать бэкенды для работы с различными сервис-провайдерами и создавать расширения API. Модуль пока имеет статус экспериментального и поддерживает только бэкенд для карт на базе Open Street Maps.
  • В Qt Core предложен новый API для запроса и проверки полномочий доступа к определённым сервисам, обращение к которым требует предварительного подтверждения пользователем (например, доступ к определению местоположения, Bluetooth, камере, микрофону и адресной книге пользователя).
  • В модуль Qt GUI добавлены классы QWindowsMimeConverter и QUtiMimeConverter для преобразования из MIME в специфичные для Windows и macOS форматы данных буфера обмена, а также метод QGuiApplication::setBadgeNumber для выставления счётчика действий, отображаемого для приложения в панели задач (например, число непрочитанных сообщений). Улучшена поддержка графического API Vulkan. В выбираемых элементах списка реализована поддержка разметки Markdown и HTML.
  • В модуле Qt Multimedia для macOS, Windows, Android и пользовательских дистрибутивов Linux по умолчанию задействован бэкенд на основе пакета FFmpeg. Для встраиваемых систем по-прежнему продолжает использоваться бэкенд на основе GStreamer. При использовании бэкенда FFmpeg предоставлена возможность захвата экрана при помощи нового класса QScreenCapture (полученное видео с содержимым экрана может быть перенаправлено через QMediaCaptureSession для последующей обработки классами QMediaRecorder или QVideoWidget).
  • Объявлен стабильным модуль Qt Spatial Audio для создания пространственного звука.
  • В компиляторе qmltc (QML Type Compiler) увеличено число поддерживаемых конструкций QML, а в компиляторе скриптов QML (qmlcachegen и qmlsc) добавлена обработка таких возможностей JavaScript, как let и const.
  • Упрощено создание элементов QML, используя URI и имя типа. Стандартизирована поддержка типов для определения последовательностей, для подобных типов добавлена возможность использования методов map(), reduce() и forEach().
  • В QML-типе TableView реализованы интерактивные возможности, такие как редактирование ячеек по месту, изменения размера строк и столбцов, выделение нескольких ячеек.
  • В класс QOpenGLWidget, предлагаемый в модуле Qt Widgets, в добавлена поддержка стереоскопической отрисовки.
  • Проведена большая работа по повышению стабильности, закрыто около 3500 отчётов об ошибках.
 
Сверху