Вышла версия 6.0 фреймворка Qt

Во вторник, 8 декабря, компания Qt Company обновила свой фреймворк для кроссплатформенной разработки. Если сравнить с пятой версией 2012 года, в Qt 6.0 появились новые API для 3D-графики, улучшенная поддержка С++17 и система сборки cmake. Полный список изменений компания публикует на странице в вики.
Технический директор Qt Company Ларс Кнолл отметил, что версия Qt 5 «была фантастически успешна многие годы». Предыдущую версию выпустили в 2012 году и её пользовательская база выросла до 1,5 миллионов пользователей. Также увеличилось использование Qt во встраиваемых системах управления, контроля и мониторинга микропроцессоров; появился запрос на работу с API для 3D-графики.
За годы разработки между версиями пятого Qt стало значительно труднее сохранять совместимость на уровне исходных кодов и двоичных файлов. Разработчики оправдывают историческую неизбежность Qt 6.0 необходимостью адаптировать его к новому миру и его изменчивым требованиям.
Особенности Qt 6.0:
- Использование С++ 17
- QML следующего поколения
- Новая графическая архитектура
- Отрисовка 2D и 3D объединена для Qt Quick
- Система сборки CMake для приложений
- Qt для микроконтроллеров, требующий 80 КБ ОЗУ в минимальной конфигурации
Ларс Кнолл отметил работу более 250 сотрудников и тысяч пользователей, участвовавших в разработке новой версии продукта и поблагодарил их за тяжёлый труд. Он надеется, что пользователи оценят Qt 6, и обещает портировать оставшиеся модули, как можно быстрее.
Qt 6.0 вышла на Windows, macOS, Linux, iOS и Android. Программа пока не работает для операционных систем реального времени QNX и INTEGRITY. Их поддержка появится к моменту выхода Qt 6.2.
- qt
- ide
- программирование
- с++
- кроссплатформенная разработка
- кроссплатформенность
What’s New in Qt 6.0
Building Qt from sources now requires CMake and Ninja. See Build System Changes in Qt 6 for more details on this and other changes in configure.
Changes to Supported Modules
Qt 6.0 is streamlined compared to Qt 5 and some modules are no longer in the default installation of Qt 6.0. Because of the modularized structure of Qt, new modules or previous Qt 5 modules may appear in future releases of Qt 6. For more information, visit the All Modules page.
The Changes to Qt Modules in Qt 6 has a list of API changes.
New Modules in Qt 6.0
The following are new modules in Qt 6.0.
- Qt 5 Core Compatibility APIs
- Qt Shader Tools — for graphics and compute shaders
Removed Modules in Qt 6.0
The following are Qt 5 modules that are not in Qt 6.0. They may be re-introduced in a future release of Qt 6.
| Module | qmake | Comments |
|---|---|---|
| Qt Android Extras | androidextras | See Changes to Qt Extras Modules |
| Qt Bluetooth | bluetooth | |
| Qt Charts | charts | |
| Qt Data Visualization | datavisualization | |
| Qt Graphical Effects | only QML types | |
| Qt Location | location | |
| Qt Mac Extras | macextras | See Changes to Qt Extras Modules |
| Qt Multimedia | multimedia | |
| Qt Multimedia Widgets | multimediawidgets | |
| Qt NFC | nfc | |
| Qt Positioning | positioning | |
| Qt Purchasing | purchasing | |
| Qt Quick Extras | Merged into Qt Quick Controls | |
| Qt Remote Objects | remoteobjects | |
| Qt Script | qtscript | |
| Qt SCXML | scxml | |
| Qt Script Tools | scripttools | |
| Qt Sensors | sensors | |
| Qt Serial Bus | serialbus | |
| Qt Serial Port | serialport | |
| Qt Speech | texttospeech | |
| Qt WebChannel | webchannel | |
| Qt WebEngine | webenginecore | |
| Qt WebSockets | websockets | |
| Qt WebView | webview | |
| Qt Windows Extras | winextras | See Changes to Qt Extras Modules |
| Qt X11 Extras | x11extras | See Changes to Qt Extras Modules |
| Qt XML Patterns | xmlpatterns |
List of API Changes
These pages contain an overview of API changes in Qt 6.0:
- New Classes and Functions in Qt 6.0
- Obsolete Classes
© 2023 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.
Выпущен план развития функций для выпуска Qt 6
Ларс Нолл, создатель движка KHTML, менеджер проекта Qt и технический директор Qt CompanИ он рассказал о планах по созданию следующей важной ветви фреймворка Qt. После завершения формирования функциональности ветки Qt 5.14 разработка будет сосредоточена на подготовке версии Qt 6, которая ожидается к концу 2020 года.
Qt 6 будет развиваться, чтобы обеспечить совместимость с Qt 5, но не исключено, что могут возникнуть индивидуальные проблемы, так как запланированные архитектурные изменения и очистка будут невозможны без потери определенного уровня совместимости. Чтобы облегчить переход, некоторые функции Qt 6 планируется включить в сокращенной форме в версии Qt 5.14 и Qt 5.15 LTS. Также будет подготовлен инструментарий для облегчения перехода на Qt 6.
Одной из главных целей следующей основной ветки является приведение функциональности в соответствие с требованиями 2020 года, очистка кодовой базы и упрощение сопровождения проекта.
- 1 Это ожидаемые изменения
- 1.1 Унификация инструментов для создания пользовательского интерфейса
Это ожидаемые изменения
Среди основных изменений, которые запланированы в Qt 6, есть возможность компилировать QML в представление C ++ и машинный код.
А также полный перенос поддержки JavaScript в категорию параметров (использование полнофункционального движка JavaScript требует значительных ресурсов, что предотвращает использование QML на таком оборудовании, как микроконтроллеры).
Планируется добавить новый абстрактный слой, Интерфейс оборудования рендеринга (RHI), для обеспечения бесперебойного использования различных графических API, включая OpenGL, Vulkan, Metal и Direct 3D (ранее Qt был привязан только к OpenGL).
Вся существующая инфраструктура рендеринга, включая QPainter, Qt Quick Scenegraph и Qt3D, будет преобразована в RHI. Также планируется добавить модуль Qt Shader Tools для поддержки различных языков разработки шейдеров и обеспечения кросс-компиляции шейдеров как на этапе сборки, так и во время выполнения программы.
Унификация инструментов для создания пользовательского интерфейса
Чтобы избежать дублирования функций и прекратить поставки двух отдельных продуктов, Ожидается, что функциональность Qt 3D Studio будет интегрирована в Qt Design Studio., многие из которых подсистемы и структура подключения подключаемых модулей построены на единой кодовой базе с Qt Creator.
Qt Design Studio также планирует обеспечить качественную интеграцию с пакетами создания контента, такими как Photoshop, Sketch, Illustrator, Maya и 3D Max. Основными языками, поддерживаемыми в Unified Development Toolkit, являются C ++, QML и Python.
Ожидается подготовка единого API для создания пользовательских интерфейсов. которые сочетают в себе элементы 2D- и 3D-графики. Новый API позволит использовать QML для определения элементов трехмерного интерфейса без использования формата UIP.
В новом интерфейсе для интеграции 3D-контента с Qt Quick они планируют решить такие проблемы, как накладные расходы при интеграции QML с контентом из Qt 3D или 3D Studio, а также невозможность синхронизировать отдельные преобразования на уровне кадра и анимации между 2D и 3D.
Совместный 2D и 3D рендеринг будет реализован с использованием нового движка рендеринга.. Предварительная реализация нового Qt Quick с поддержкой 3D ожидается в Qt 5.14.
Добавить инструменты для обработки графических ресурсов на этапе компиляции, например, для преобразования изображений PNG в сжатые текстуры или для преобразования шейдеров и сеток в двоичные форматы, оптимизированные для конкретных компьютеров.
Унификация также подразумевает возможность доступа к Qt Creator для взаимодействия с инструментами проектирования и предоставления дизайнерам интерфейсов возможностей инструментов разработчика.
Среди других изменений, которые следует выделить:
- Отказ от версии в QML и унификация структур данных, которые дублируются в QObject и QML (снизит потребление памяти и ускорит запуск).
- Избегайте генерации структур данных во время выполнения в пользу генерации во время компиляции.
- Скрывайте внутренние компоненты с помощью частных свойств и методов.
- Улучшенная интеграция с инструментами разработки для рефакторинга и диагностики ошибок во время компиляции.
Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.
Полный путь к статье: Любители Linux » Общие » новости » Выпущен план развития функций для выпуска Qt 6
Комментарий, оставьте свой
Qt 6.5 поставляется как LTS-версия, исправляет множество ошибок и вносит общие улучшения.

В шестом выпуске серии Qt 6 мы представили множество новых функций для разработчиков графики и пользовательского интерфейса, а также серверной части приложения.
Представлена компания Qt несколько дней назад вышел релиз новой версии фреймворка «Qt 6.5» , в котором продолжается работа по стабилизации и увеличению функциональности ветки Qt 6.
Qt 6.5 получил статус LTS-релиза, в рамках которого обновления будут выпущены для пользователей коммерческой лицензии в течение трех лет (для остальных обновления будут выпущены за полгода до формирования следующей мажорной версии). Поддержка предыдущей LTS-ветви Qt 6.2 продлится до 30 сентября 2024 г. Ветвь Qt 5.15 продлится до мая 2025 г.
- 1 Основные новые функции Qt 6.5
- 2 Скачайте и получите Qt 6.5
Основные новые функции Qt 6.5
В этой недавно выпущенной версии QT 6.5 подчеркивается, что модуль Qt Quick 3D Physics, который предоставляет API для имитации физических процессов, которые можно использовать с Qt Quick 3D для реалистичного взаимодействия и движения объектов в 3D-сценах, он был стабилизирован и сделан полностью совместимым. Реализация основана на движке PhysX.
Еще одно изменение, которое выделяется в новой версии, заключается в том, что добавлена поддержка темного режима дизайна Windows, а также включено автоматическое применение темной раскладки включены в системе и настройки для фреймов и титров, если приложение использует стиль, который не меняет палитру. В приложении вы можете настроить собственную реакцию на изменения системной темы, обработав свойство QStyleHints::colorScheme.
В Qt Quick Controls стиль материала для Android был приведен в соответствие с рекомендации материалы 3, Кроме того, для iOS реализована полная стилизация и добавлены API для изменения внешнего вида (например, containerStyle для TextField или TextArea или roundedScale для кнопок и всплывающих окон).
к Wayland, добавлен QNativeInterface::QWaylandApplication API для прямого доступа к собственным объектам Wayland, которые используется во внутренних функциях Qt, а также для доступа к информации о последних действиях пользователя, которую, возможно, потребуется передать расширениям протокола Wayland. Новый API реализован в пространстве имен QNativeInterface, который также предоставляет вызовы для доступа к собственным API платформ X11 и Android.
В дополнение к этому также подчеркивается, что добавлена поддержка платформы Android 12 и, несмотря на существенные изменения в этой ветке, была сохранена возможность создания универсальных сборок для Android, которые могут работать на устройствах с разными версиями Android, начиная с Android 8.
Обновлен стек Boot2Qt, который можно использовать для создания загрузочных мобильных систем со средой на основе Qt и QML. Системная среда в Boot2Qt обновлена до платформы Yocto 4.1 (Langdale).
Пакеты для Debian 11 запущены и поддерживаются на коммерческой основе.Лас- Расширены возможности платформы WebAssembly, позволяя вам создавать приложения Qt, которые запускаются в веб-браузере и переносимы между различными аппаратными платформами. Приложения, созданные для платформы WebAssembly, благодаря JIT-компиляции работают с производительностью, близкой к собственному коду, могут использовать Qt Quick, Qt Quick 3D и средства визуализации, доступные в Qt. В новой версии добавлена поддержка рендеринга видео и использование отключенных инструментов в виджетах.
веб-движок Qt WebEngine был обновлен до кодовой базы Chromium 110, Помимо Linux, поддержка рендеринга видео с аппаратным ускорением реализована при использовании графического API Vulkan в средах на базе X11 и Wayland.
Из других изменений, которые выделяются:
- Добавлен экспериментальный модуль Qt GRPC с поддержкой протоколов gRPC и Protocol Buffer, который позволяет получить доступ к службам gRPC и сериализовать классы Qt с помощью Protobuf.
- В macOS приложения, использующие QMessageBox или QErrorMessage, гарантированно будут отображать собственные диалоговые окна платформы.
- Добавлена поддержка настройки соединений HTTP 1 в модуле Qt Network.
В модуль последовательной шины Qt добавлены экспериментальные классы шины CAN, которые можно использовать для кодирования и декодирования сообщений CAN, обработки кадров и разбора файлов DBC. - Тип TableView QML реализует интерактивные функции, такие как редактирование ячеек на месте, изменение размера строк и столбцов и выбор нескольких ячеек.
- Добавлена поддержка стереоскопического рендеринга в класс QOpenGLWidget, представленный в модуле Qt Widgets.
- Проделана большая работа по улучшению стабильности, закрыто около 3500 баг-репортов.
Если вы хотите узнать больше об этом, вы можете проверить подробности По следующей ссылке.
Скачайте и получите Qt 6.5
Те, кто интересуется новой веткой Qt 6.5, должны знать, что поддержка предоставляется для платформ Windows, macOS, Linux, iOS 14+, Android 8+ (API 23+), webOS, WebAssembly, INTEGRITY и QNX. Исходный код компонентов Qt предоставляется по лицензиям LGPLv3 и GPLv2.
Новую версию можно получить по адресу по следующей ссылке.
Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.
Полный путь к статье: Любители Linux » Общие » новости » Qt 6.5 поставляется как LTS-версия, исправляет множество ошибок и вносит общие улучшения.
Будьте первым, чтобы комментировать