Последняя версия графического интерфейса Qt была выпущена всего через три месяца после предыдущего обновления. Несмотря на короткий интервал, есть довольно много изменений, включая поддержку Raspberry Pi 3.
Qt-это кроссплатформенная платформа для разработки приложений и пользовательского интерфейса, которая позволяет создавать собственные приложения для настольных, встроенных или мобильных платформ.
Одним из основных изменений в новой версии является то, что открытые исходные и коммерческие версии Qt теперь имеют точно такой же контент, так что пользователи с открытым исходным кодом теперь получают диаграммы Qt (показаны ниже), визуализацию данных Qt, виртуальную клавиатуру Qt, покупку Qt и быстрый 2D-рендеринг Qt.
Единственная часть, которая не будет включена, — это компилятор Qt Quick, где разработчики говорят, что им нужно еще некоторое время, чтобы завершить необходимые изменения, чтобы иметь возможность поддерживать эту функцию в выпуске с открытым исходным кодом.
Еще одним изменением в новой версии является тот факт, что вам понадобится компилятор C++11 для сборки и использования Qt. Сообщение в блоге о новой версии объясняет, что, хотя было возможно использовать совместимый с C++11 компилятор вместе с Qt (и, таким образом, использовать C++11 в вашем приложении) для многих выпусков, до сих пор Qt сам не использовал его, за исключением некоторых точек интеграции в API. Поскольку Qt является фреймворком C++, разработчики хотят более внимательно следить за прогрессом современного C++ :
«Начиная с Qt 5.7, нам потребуется компилятор, совместимый с C++11, для сборки и использования Qt. Это позволяет нам использовать многие новые функции в самом Qt и обновлять нашу кодовую базу, используя такие функции, как constexpr, семантика перемещения, диапазон и авто. Эти усилия идут полным ходом и будут продолжаться в течение следующих версий.»
В новую версию добавлен новый 3D — модуль. Qt 3D используется для дополнения 3D-графического интерфейса Qt, состоящего из интеграции с модулями визуализации данных OpenGL, Qt Canvas 3D и Qt. Это дает вам 3D-движок, который поставляется как с API C++, так и с API QML, что упрощает встраивание и обработку 3D-контента в приложениях Qt. Разработчики говорят, что:
«В целом, Qt 3D-это гораздо больше, чем просто визуализатор, он служит расширяемой 3D-структурой для всех видов моделирования.»
Еще одним дополнением к Qt 5.7 является Qt Quick Controls 2, библиотека элементов управления пользовательского интерфейса на основе QML. Предыдущее воплощение быстрых элементов управления было слишком медленным для использования на встроенных устройствах из-за того, что они были нацелены на рабочий стол. Qt Quick Controls 2 были построены с учетом производительности и потребления памяти, поэтому имеют более ограниченную функциональность — например, они не поставляются с встроенной интеграцией стилей. Компромисс заключается в том, что они намного быстрее и используют меньше памяти, поэтому могут использоваться во встроенных и мобильных решениях. Вы можете настроить пользовательские стили на основе шаблонов, и вы получите три предопределенных стиля:
Стиль по умолчанию – простой и минимальный универсальный стиль, который обеспечивает максимальную производительность
Стиль материала – стиль, основанный на руководящих принципах Google Material Design
Универсальный стиль – стиль, основанный на принципах универсального дизайна Microsoft
Другие улучшения включают новые функции в Qt Core, Qt Gui, Qt XML и WebEngine.
Qt для создания устройств также получил обновление и теперь поставляется с Qt 5.7. Список нового оборудования, которое теперь поддерживает,:
Rasberry Pi 3 (3 — битный режим)
Платы NVIDIA DRIVE CX (Tegra X1, 64-битный ARM)
i.Устройства на базе MX7 (без графического процессора, использует буфер кадров Linux и Qt Quick 2D-рендерер)