Релиз фреймворка 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.

    CFD0C5CECEC5D4_1664476037.pngCFD0C5CECEC5D4_1664476055.png

  • Добавлен экспериментальный модуль 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 также реализована поддержка линейных частиц, глянцевых материалов, расширенных настроек отражения, скайбоксов и собственных материалов и текстур.

    CFD0C5CECEC5D4_1664476849.jpg

  • Расширены возможности предоставляемых в 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