Релиз фреймворка Qt 6.3
Компания Qt Company опубликовала релиз фреймворка Qt 6.3, в котором продолжена работа по стабилизации и наращиванию функциональности ветки Qt 6. В Qt 6.3 обеспечена поддержка платформ Windows 10, macOS 10.14+, Linux (Ubuntu 20.04, CentOS 8.2, openSUSE 15.3, SUSE 15 SP2), iOS 13+, Android 6+ (API 23+), webOS, INTEGRITY и QNX. Исходные тексты компонентов Qt поставляются под лицензиями LGPLv3 и GPLv2.
Основные изменения в Qt 6.3:
В модуле Qt QML предложена экспериментальная реализация компилятора qmltc (QML type compiler), позволяющего скомпилировать структуры объектов QML в классы на языке C++. Для коммерческих пользователей Qt 6.3 подготовлен продукт Qt Quick Compiler, который помимо вышеотмеченного QML Type Compiler включает QML Script Compiler, позволяющий компилировать функции и выражения QML в код на C++. Отмечается, что применение Qt Quick Compiler позволяет приблизить производительность программ на базе QML к нативным программам, в частности при компиляции расширений отмечается сокращение времени запуска и выполнения приблизительно на 20–35% по сравнению с использованием интерпретируемого варианта.
Реализован модуль «Qt Language Server» с поддержкой протоколов Language Server и JsonRpc 2.0.
В модуль Qt Wayland Compositor добавлен композитный сервер Qt Shell и API для создания собственных расширений пользовательской оболочки.
В Qt Quick Controls интегрированы QML-типы CalendarModel и TreeView с реализацией интерфейсов для отображения календаря и данных в древовидном представлении.
В модуль Qt Quick Dialogs добавлены QML-типы MessageDialog и FolderDialog для использования предоставляемых платформой системных диалоговых окон для вывода сообщения и навигации по файлам.
В Qt Quick повышена производительность и эффективность работы с текстом. Например, решены проблемы с замедлением отрисовки и потреблением большого объёма памяти при передаче очень больших документов в компоненты Text, TextEdit, TextArea и TextInput.
В модуль Qt Quick 3D добавлен QML элемент ReflectionProbe для рендеринга отражений объектов. Расширен API 3D Particles для добавления в 3D-сцены эффектов, образуемых большим скоплением частиц (дым, туман и т.п.). Реализован новый элемент ResourceLoader, предоставляющий средства для управления ресурсами в Qt Quick 3D и позволяющий организовать упреждающую загрузку больших ресурсов, таких как мэши или текстуры, а также контролировать допустимость выгрузки ресурсов, не попадающих в видимую область сцены.
Добавлена предварительная реализация модуля Qt PDF, который присутствовал в Qt 5.15, но не вошёл в состав Qt 6.
В модуль Qt Core добавлена большая порция новых функций, в основном связанных с расширением возможностей по обработке строковых данных. В QLocale добавлена поддержка кодов языков ISO639–2. В QDate, QTime и QLocale добавлена поддержка спецификаторов времени AM/PM. Упрощено преобразование между форматами JSON и CBOR. Добавлены методы QtFuture: whenAll () и whenAny ().
- В Qt Positioning предоставлена возможность определения точности данных о местоположении, предоставленных платформами Android и iOS.
В Qt Bluetooth обеспечен вывод сведений о поддержке Bluetooth LE и информации о состоянии Bluetooth-адаптера в Windows.
- В Qt Widgets улучшена поддержка экранов с высоким разрешением, стилей и изменения оформления при помощи таблиц стилей.
Улучшена сборочная система на базе CMake. Добавлена функция qt-generate-deploy-app-script (), упрощающая генерацию скриптов для развёртывания приложений на разных платформах.
Проведена большая работа по повышению стабильности и качества кодовой базы. По сравнению с выпуском Qt 6.2 закрыто 1750 отчётов об ошибках.
В следующих значительных выпусках Qt 6.x планируют реализовать полную поддержку WebAssembly, QHttpServer, gRPC, бэкенд к Qt Multimedia на базе FFmpeg, Qt Speech и Qt Location.
Источник: http://www.opennet.ru/opennews/art.shtml? num=57010
© OpenNet