Релиз фреймворка Qt 6.4
Компания Qt Company опубликовала релиз фреймворка Qt 6.4, в котором продолжена работа по стабилизации и наращиванию функциональности ветки Qt 6. В Qt 6.4 обеспечена поддержка платформ Windows 10+, macOS 10.15+, Linux (Ubuntu 20.04, CentOS 8.2, openSUSE 15.3, SUSE 15 SP2), iOS 14+, Android 6+ (API 23+), webOS, WebAssembly, INTEGRITY и QNX. Исходные тексты компонентов Qt поставляются под лицензиями LGPLv3 и GPLv2.
Основные изменения в Qt 6.4:
Реализована полноценная поддержка платформы WebAssembly, позволяющей создавать Qt-приложения, работающие в web-браузере и переносимые между разными аппаратными платформами. Приложения, собираемые для платформы WebAssembly, благодаря JIT-копиляции выполняются с близкой к нативному коду производительностью, могут использовать Qt Quick, Qt Quick 3D и доступные в Qt средства визуализации. Так как приложение на базе WebAssembly выполняется в изолированном окружении браузера, доступ к некоторым API для работы с локальными ресурсами и сервисами операционной системы ограничен, но дополнительно предоставляются API для интеграции с браузером.
В основной состав возвращён модуль Qt TextToSpeech, поставлявшийся в Qt 5, но не вошедший в ветку Qt 6. Модуль предоставляет средства для синтеза речи, что может применяться для повышения доступности приложений для людей с ограниченными возможностями или для реализации новых средств фонового информирования пользователя, например, для вывода уведомлений в приложениях для автомобильных информационно-развлекательных систем. В Linux преобразование текста в речь осуществляется при помощи библиотеки Speech Dispatcher (libspeechd), а на других платформах через штатный API операционной системы.
Добавлен экспериментальный модуль с реализацией стилевого оформления iOS для Qt Quick. Приложения на базе Qt Quick Controls могут автоматически использовать данный модуль для создания родного оформления интерфейса на платформе iOS, по аналогии с тем, как родное оформление применяется в Windows, macOS и Android.
Добавлен экспериментальный модуль QtHttpServer, позволяющий интегрировать в приложения функциональность HTTP-сервера, который поддерживает HTTP/1.1, TLS/HTTPS, WebSockets, обработку ошибок, маршрутизацию запросов на основе параметров в URL (QHttpServerRouter) и REST API.
Добавлен экспериментальный модуль Qt Quick 3D Physics, предоставляющий API для симуляции физических процессов, который можно использовать вместе с Qt Quick 3D для реалистичного взаимодействия и перемещения объектов в 3D-сценах. Реализация основана на движке PhysX.
В модуль Qt Quick 3D добавлена экспериментальная поддержка глобального освещения с использованием карт освещённости, позволяющих более реалистично имитировать в 3D-сцене свет от разных источников. В Qt Quick 3D также реализована поддержка линейных частиц, глянцевых материалов, расширенных настроек отражения, скайбоксов и собственных материалов и текстур.
Расширены возможности предоставляемых в Qt Quick типов TableView и TreeView, в которых появилась поддержка навигации при помощи клавиатуры, выделения строк и столбцов, более полного управления положением ячеек, анимацией, сворачиванием и раскрытием древовидных структур.
В Qt Quick предложен новый тип FrameAnimation, позволяющий выполнять код синхронно с кадрами анимации. Для повышения плавности анимации в Qt Quick также обеспечена автоматическая обработка некорректной синхронизации vsync при многопоточной отрисовке.
В виджете QQuickWidget, позволяющем создавать интерфейсы, комбинирующие элементы на базе Qt Quick и Qt Widget, реализована полная поддержка прослойки RHI (Rendering Hardware Interface), позволяющей обеспечить работу не только с использованием OpenGL, но и поверх API Vulkan, Metal и Direct 3D.
В модуль Qt Network добавлен класс QSslServer, позволяющий создавать эффективные сетевые серверы, использующие TLS для установки защищённого канала связи.
В модуль Qt Multimedia добавлен экспериментальный бэкенд, использующий для обработки видео и звука пакет FFmpeg. При воспроизведении видео улучшена обработка цветовых пространств и HDR, добавлена возможность подстановки субтитров через QVideoFrames. Добавлена поддержка пространственного звука, позволяющего создавать сцены с трёхмерным распределением звука и симулировать виртуальные комнаты с характеристиками отражения звука в зависимости расположения слушателя, размера помещения и материалов стен и пола.
В модуле Qt Widgets класс QFormLayout расширен средствами для построения интерфейсов для захвата структурированного пользовательского ввода. В классе QWizard, предназначенном для создания многоэтапных интерфейсов, добавлены API для управления видимостью строк в формах и перехода на любую страницу в мастере.
В QML улучшена поддержка типов значений, упрощающих передачу структурированных данных из C++ в QML. Подобные типы и списки из данных типов теперь могут использоваться в свойствах без обвязки на базе QObject. Расширены возможности LSP-сервера для интеграции поддержки языка QML в интегрированные среды разработки. Включён по умолчанию QML Type Compiler, позволяющий компилировать QML-представление в код на C++.
- Расширены возможности для работы со строковыми литералами в коде — в классы QStringEncoder и QStringDecoder добавлена поддержка всех кодировок, доступных в ICU (International Components for Unicode).
В классе QTextDocuments добавлена поддержка разметки Markdown.
Источник: http://www.opennet.ru/opennews/art.shtml? num=57847
© OpenNet