После трёх месяцев разработки состоялся релиз кроссплатформенного фреймворка Qt 5.7, продолжившего развитием ветки Qt 5.x. Выпуск Qt 5.7 примечателен изменением модели лицензирования: кроме коммерческой лицензии, Qt теперь поставляется только под лицензиями LGPLv3 и GPLv2, вместо ранее предлагаемых LGPLv2.1, LGPLv3 и GPLv2. Инструменты и приложения Qt для разработчиков, такие как Qt Creator и qmake, а также ранее закрытые модули поставляются под лицензией GPLv3. Таким образом, теперь все компоненты Qt доступны под лицензиями, совместимыми с GPLv3 при сохранении совместимости Qt с GPLv2. Изменение лицензии позволило унифицировать состав открытой и коммерческой сборок, которые начиная с Qt 5.7 предоставляют идентичный набор модулей.
Основные изменения:
- Поддержка использования C++11 в модулях и библиотеках Qt (для сборки приложений поддержка C++11 была доступна и ранее);
- Новые модули:
- Qt Quick Controls 2 — полностью переписанный и оптимизированный набор компонентов для построения графических интерфейсов для приложений на Qt Quick. Снижение потребления памяти и оптимизация производительности позволяют использовать Qt Quick Controls 2 не только для создания приложений рабочего стола, но и для построения интерфейсов мобильных и встраиваемых решений. Архитектура Qt Quick Controls 2 основана на применении шаблонов, позволяющих создавать полностью новые элементы интерфейса на основе предоставляемых компонентов. Разработчику также предлагается гибкая система быстрого создания собственных стилей и методов взаимодействия с пользователем. В базовый состав входит три предопределённых стиля: минималистичный (по умолчанию, обеспечивает максимальную производительность), Material Design (Google) и Universal Design (Microsoft);
- Qt 3D — многопоточный 3D-движок для приложений на Qt C++ и Qt Quick, позволяющий легко обрабатывать и встраивать 3D-контент в приложения. Qt 3D не ограничивается системой рендеринга и предоставляет полноценный расширяемый фреймворк для любых типов симуляции. В состав также входит компонент Qt3DInput для использования устройств ввода в трёхмерном пространстве, таких как 3D-мыши, игровые пульты и джойстики. Библиотека Qt3DExtras предоставляет типовой набор геометрических примитивов и материалов. Для создания 3D-сцен развивается редактор Qt 3D Scene Editor, а также специальные инструменты профилирования и отладки;
- Qt Wayland Compositor (Technology Preview) — многопоточная система отрисовки для встраиваемых устройств, использующая протокол Wayland. Модуль может использоваться для создания собственных композитных серверов Wayland, применяя QML или C++ API. В состав также входит базовая реализация панели запуска программ и мозаичного оконного менеджера, написанных целиком на QML. Имеется поддержка стандарта XDG-Shell и возможность работы в системах с несколькими экранами. В качестве примера применения Qt Wayland Compositor развивается рабочий стол Grefsen;
- Qt SerialBus — поддержка шин CANBus и ModBus для организации взаимодействия приложений;
- Qt SCXML (Technology Preview) — фреймворк с реализацией State Chart API;
- Qt Gamepad — модуль для интеграции gamepad вприложениях на C++ и QML. Поддерживаются платформы Windows, Linux, Android и iOS;
- Qt Quick Controls 2 — полностью переписанный и оптимизированный набор компонентов для построения графических интерфейсов для приложений на Qt Quick. Снижение потребления памяти и оптимизация производительности позволяют использовать Qt Quick Controls 2 не только для создания приложений рабочего стола, но и для построения интерфейсов мобильных и встраиваемых решений. Архитектура Qt Quick Controls 2 основана на применении шаблонов, позволяющих создавать полностью новые элементы интерфейса на основе предоставляемых компонентов. Разработчику также предлагается гибкая система быстрого создания собственных стилей и методов взаимодействия с пользователем. В базовый состав входит три предопределённых стиля: минималистичный (по умолчанию, обеспечивает максимальную производительность), Material Design (Google) и Universal Design (Microsoft);
- Включение в поставку модулей, ранее поставляемых только в коммерческой редакции. Из пока не открытых модулей остаётся Qt Quick Compiler, для открытия которого требуется дополнительное время. Код модулей открыт под лицензией GPLv3:
- Qt Data Visualization — набор готовых шаблонов диаграмм для 3D-визуализации данных;
- Qt Purchasing — кроссплатформенный API для организации покупок в каталогах-магазинах приложений;
- Qt Virtual Keyboard — реализация виртуальной клавиатуры с поддержкой рукописного ввода;
- Qt Quick 2D Renderer — возможность запуска приложений Qt Quick 2 на системах без аппаратной поддержки OpenGL;
- Qt Charts — построение диаграмм и 2D-визуализация данных;