Разработчики Qt анонсировали выпуск Qt 5.10, который ознаменован внесением нового функционала, а также выпуском Qt 3D Studio.
Qt 3D Studio
Как следует из названия, Qt 3D Studio представляет собой графический редактор, используемый для создания трехмерных пользовательских интерфейсов и создан из продукта NVIDIA Drive Design, который NVIDIA внесла в Qt в начале этого года.
Qt 3D Studio содержит runtime компонент, который запускается в вашем приложении, и графический инструмент для проектирования и создания пользовательского интерфейса. Хотя инструмент является автономным приложением, среда выполнения может быть легко интегрирована с остальной частью Qt.
Qt 3D Studio будет работать как с Qt 5.9, так и с 5.10. Runtime компонент и приложение 3D Studio доступны в рамках коммерческого лицензирования и лицензирования GPL.
Qt Qml, Qt Quick и Qt Quick Controls
В этой области произошло много интересных вещей. Qt Quick теперь получил плагин, который позволяет размещать произвольно сформированные элементы в сцену
Новые обработчики указателей являются следующей большой новой функцией в Qt Quick. Это большой шаг вперед для Qt Quick, который значительно улучшает работу с более сложными многопользовательскими случаями. Вместо использования Mouse- и TouchArea для обработки этих входных событий вы можете теперь привязывать обработчики для разных типов событий указателя к любому элементу. Поддержка этого по-прежнему находится в предварительном просмотре технологий.
Кроме того, Qt Quick получил большее количество небольших улучшений. Главной из них является поддержка прямой загрузки сжатых текстур ETC1 и ETC2, поддержка мультисэмплирования для слоев и некоторые свойства для настройки обработки шрифтов.
Qt Quick Controls 2 также получил множество новых функций. Прежде всего, теперь доступны два новых стиля. Один из них - это стиль, основанный на образовании, который позволяет очень легко использовать собственные иллюстрации для создания пользовательского внешнего вида. Другой, называемый стилем Fusio, ориентированный на рабочий стол. Эти стили также поддерживают палитры.
Также были добавлены элементы Action, ActionGroup и MenuBar. Вне MenuBar, Actions также поддерживаются в кнопках, делегатах и меню. Кроме того, мы добавили множество более мелких функций к существующим элементам управления.
Qt Qml наконец поддерживает объявление перечислений в QML и динамически ретранслирует все строки при изменении языка.
Graphics
Массивной новой функцией графической области является новый плагин QPA, который позволяет передавать полный пользовательский интерфейс Qt в любой браузер с поддержкой WebGL.
На стороне OpenGL теперь QSurfaceFormat можно использовать для запроса фреймбуфферов, совместимых с sRGB, а полный набор API OpenGL ES 3.2 теперь доступен на всех платформах через QOpenGLExtraFunctions.
Qt 3D
Благодаря KDAB, Qt 3D также приобрела пару новых функций. Существуют новые типы узлов, которые можно использовать в графиках кадров, таких как фильтр близости и расщепление фреймбуфера. Теперь есть поддержка графиков Shader, которые позволяют создавать шейдеры из описания на основе графика, предварительного просмотра технологии скелетной анимационной системы и элемента Scene2D Qt Quick, что упрощает встраивание Qt 3D-контента в QuickTime Qt.
Кроме того, акцент на разработке Qt 3D теперь постепенно смещается от разработки всех необходимых функций для повышения производительности и уменьшения потребления памяти.
Qt 3D также станет намного более важным для продвижения Qt вперед. В настоящее время идёт работа над созданием среды выполнения для Qt 3D Studio поверх Qt 3D, чтобы унифицировать архитектуру для всех API и инструментов, связанных с 3D.
Qt Core и Network
Qt Core теперь имеет совершенно новый класс QStringView, который концептуально похож на std::string_view. На данный момент все еще отсутствуют некоторые функции const из QString, но это будет завершено для Qt 5.11.
Qt Core также получил новый класс QRandomGenerator, который обеспечивает высококачественный случайный генератор и доступ к бессемянным случайным числам, генерируемым аппаратными средствами или операционными системами. В настоящее время также имеется набор явных больших / маленьких типов данных endian (qint16_le и т. Д.) И KeyValueIterator для наших ассоциативных контейнеров, которые предоставляют STL-совместимую итерационную семантику над этими контейнерами.
Qt Network теперь поддерживает OpenSSL 1.1, сохраняет политики HSTS (HTTP Strict Transport Security) постоянным образом в QNetworkAccessManager и реализует обновление протокола h2c, используемое не SSL SSL / 2.
Qt Widgets
Добавлено несколько небольших функций, таких как QWidget::createWindowContainer() на Android, включение QOpenGLWidget для рендеринга и захвата внеэкранного контента, добавлено свойство tabStopDistance в QTextOption и QTextEdit и API для лучшей обработки выбора для QLineEdit. Теперь QDockWidgets можно перебрасывать со стороны на сторону.
Кроме того, в этом модуле для Qt 5.10 был исправлен большой набор ошибок.
Embedded functionality
Хотя большинство вышеперечисленных элементов улучшают общее предложение, как для разработки приложений, так и для создания устройств, также есть некоторые элементы, которые сосредоточены на встраиваемых системах.
Виртуальная клавиатура Qt получила поддержку многих новых языков и поддержку почерка для арабского, фарси, китайского, японского и корейского языков.
На стороне Boot2Qt обновлены образы устройств до Yocto 2.3 (Pyro), предоставляя вам более современный Linux для работы.
Другие модули
Обновлён Qt WebEngine для использования Chromium 61. Теперь вы можете приостановить и возобновить загрузку и запустить её программно.
На рабочем столе Windows теперь вы можете использовать UWP-сервер для Qt Bluetooth в Windows, а на X11 модуль Qt X11Extras теперь может заглянуть в очередь событий.
Наконец, Qt Network Authorization (обеспечивающая поддержку OAuth 1 и 2) и Qt Speech обеспечивающая поддержку преобразования текста в речь вышли из предварительного просмотра технологии, чтобы полностью поддерживаться в 5.10.
Добрый день.
Честно, не знаю, когда этим займусь. По хорошему надо будет разбираться, когда начну писать приложение для сайта, но это очень не скоро будет. У меня ещё слишком много других задач по разработке функционала сайта.