Как стать автором
Обновить

Вышел Qt 6.6

Время на прочтение5 мин
Количество просмотров4.9K

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

Согласно данным OpenNET, разработчики внесли такие дополнения и основные изменения в Qt 6.6:

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

  • в Qt Quick добавлена поддержка режимов выделения (свойство selectionMode) в QML-типе TableView (например, можно управлять выделением ячеек, строк, столбцов и наборов ячеек), предоставлена возможность изменения свойства rootIndex, в QML-типе TreeView расширено управление оформлением полос прокрутки (scroll-deceleration) в QML-типе Flickable, реализовано автоматическое сокращение файловых путей. Предоставлен доступ из QML к API управления полномочиями;

  • добавлен экспериментальный модуль Qt Graphs, нацеленный на предоставление универсального модуля для визуализации больших коллекций быстро меняющихся данных и построения различных видов графиков. Модуль развивается как универсальная замена старого модуля Qt DataVisualization, завязанного на OpenGL, и модуля Qt Charts. Модуль ещё находится в разработке и в настоящее время сосредоточен на воспроизведении функциональности Qt DataVisualization поверх Qt Quick 3D и использовании нового движка рендеринга (RHI, Rendering Hardware Interface), поддерживающего различные 3D API (OpenGL, Vulkan, Metal и Direct 3D);

  • в модуле Qt Multimedia добавлен класс QWindowCapture для захвата содержимого отдельных окон, дополнивший появившийся в прошлом выпуске класс QScreenCapture, ограниченный возможностью захвата всего экрана. QWindowCapture позволяет получить список окон, доступных для захвата, и может применяться в приложениях для предоставления совместного доступа к окнам. Захват окон и экрана поддерживается при использовании бэкенда FFmpeg на всех платформах, кроме систем, применяющих протокол Wayland;

  • в класс QMediaRecorder добавлены свойства для управления качеством видео, разрешением и битрейтом;

  • расширены возможности модулей Qt GRPC и Qt Protobuf, позволяющих обращаться к сервисам gRPC и выполнять сериализацию Qt-классов, используя протокол Protocol Buffer. В Qt GRPC добавлены новые опции QGrpcChannelOptions и QGrpcCallOptions для упрощения настройки каналов и вызовов, а также для ограничения максимального времени выполнения вызова или потока. Добавлена опция QGrpcMetadata для выставления метаданных клиентом и чтения метаданных, возвращённых сервером. В Qt GRPC интегрирована поддержка QML-типа для автоматической генерации клиентских классов QtGRPC. В Qt Protobuf разрешено включение в схему *.proto некоторых типов Qt Core и Qt GUI, а также предоставлена возможность доступа к QML-контекстам через классы QProtobufMessage. Добавлена поддержка типов google.protobuf.Any и oneof;

  • в модуль Qt WebEngine добавлен API для доступа к настройкам конфиденциальности и безопасности, который позволяет отключить отдельные возможности браузерного движка. Например, при помощи атрибутов QWebEngineUrlScheme::FetchApiAllowed и QWebEngineSettings::DisableReadingFromCanvas можно отключить API Fetch и отрисовку элементов Canvas для снижения риска пассивной идентификации. Добавлена поддержка внутреннего URL "chrome://qt", при открытии которого показывается страница с информацией об используемой версии движка Chromium;

  • в модуле Qt Sql добавлен плагин с поддержкой СУБД Mimer SQL, расширены настройки соединения в драйвере для СУБД MySQL и MariaDB;

  • в модуле Qt PDF предоставлены классы для доступа к ссылкам, миниатюрам страниц и выбранным страницам;

  • в Qt Quick в типе Font реализован новый API для расширенной настройки компоновки глифов (shaping) в шрифтах OpenType. Предоставлена возможность использования модуля Qt Quick Shapes для высококачественной отрисовки линий и кривых при помощи фрагментного шейдера;

  • проведена работа по документированию движка рендеринга RHI (Rendering Hardware Interface), а также стабилизации связанного с ним низкоуровневого API. Уровень поддержания обратной совместимости для RHI теперь будет соответствовать API Qt Platform Abstraction, что позволит напрямую использовать RHI для разработки кросс-платформенного низкоуровневого кода, работающего со всеми популярными графическими стеками и графическими API (OpenGL, Vulkan, Metal и Direct 3D);

  • в модуль Qt Quick 3D добавлена поддержка процедурного создания из QML текстур и геометрии на основе полигональной сетки;

  • в модуле Qt TextToSpeech появилась возможность генерации данных PCM (Pulse-Code Modulation) для дальнейшей обработки синтезированной речи (ранее поддерживался только прямой вывод на звуковое устройство). Предоставлены дополнительные настройки сегментирования текста, добавлен API для поиска необходимых голосов и API для определения доступных функций движка;

  • в набор модулей "Qt for Python", предоставляющий средства для создания графических приложений на языке Python с использованием Qt, добавлена поддержка асинхронных операций при помощи asyncio. Обеспечена совместимость Qt for Python с устройствами на базе архитектуры AArch64;

  • обновлён стек Boot2Qt, который может использоваться для создания загружаемых мобильных систем с окружением на базе Qt и QML. Системное окружение в Boot2Qt обновлено до платформы Yocto 4.2 (Mickledore). Ведётся работа по предоставлению готовых сборок Boot2Qt для плат NXP и устройств Renesas R-Car;

  • добавлена поддержка платформы Android 13. На платформах Windows и Linux улучшена поддержка архитектуры ARM. Совместно с сопровождающими из проекта Debian в штатных репозиториях дистрибутива размещены пакеты с Qt 6 для Debian 11 и Debian 12, а в репозитория Qt Company — пакеты с коммерческими компонентами Qt 6.6 для Debian;

  • улучшены средства разработки для платформы WebAssembly, позволяющие создавать Qt-приложения, работающие в веб-браузере и переносимые между разными аппаратными платформами. Приложения, собираемые для платформы WebAssembly, благодаря JIT-компиляции выполняются с близкой к нативному коду производительностью, могут использовать Qt Quick, Qt Quick 3D и доступные в Qt средства визуализации. В новой версии упрощена отладка приложений для WebAssembly и улучшено сопровождение данной платформы благодаря поддержке динамического связывания (приложения для WebAssembly теперь могут поставляться с общими библиотеками и плагинами Qt).

Теги:
Хабы:
Всего голосов 12: ↑12 и ↓0+12
Комментарии0

Другие новости

Истории

Работа

QT разработчик
5 вакансий

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань