Релиз фреймворка Qt 5.10 и среды разработки Qt Creator 4.5.0
7 декабря 2017 года
После полугода разработки представлен релиз кроссплатформенного фреймворка Qt 5.10. Исходные тексты компонентов Qt поставляются под лицензиями LGPLv3 и GPLv2, инструменты Qt для разработчиков, такие как Qt Creator и qmake, а также некоторые модули поставляются под лицензией GPLv3.
Основные изменения:
- Добавлен плагин QPA, позволяющий транслировать интерфейс пользователя на базе Qt Quick в любой web-браузер с поддержкой WebGL;
- В Qt Quick Controls 2 добавлены два новых стиля оформления: Imagine (Архивная копия от 28 января 2020 на Wayback Machine) - с компоновкой на основе готового набора изображений (можно легко изменить стиль под свои предпочтения); Fusion (Архивная копия от 28 января 2020 на Wayback Machine) - платформонезависимый, обеспечивающий одинаковый внешних вид на любых системах. В обоих стилях имеется поддержка настраиваемых палитр, при помощи которых можно произвольно менять цветовую гамму стиля;
- В Qt Quick Controls 2 также представлены новые QML-типы Action, ActionGroup и MenuBar, позволяющие компоновать сложные вложенные и каскадные меню. В тип Menu добавлена поддержка подменю;
- Для Qt Quick подготовлен плагин shapes, позволяющий добавлять на сцену произвольные векторные элементы, для отрисовки которых может применяться GPU без выполнения программной растеризации. Элементы могут компоноваться из линий, дуг, квадратичных и кубических кривых, к которым, в свою очередь, может применяться заливка, градиенты и анимированные трансформации;
- В Qt Quick добавлены новый тип объектов Pointer Handler, позволяющий существенно улучшить поддержку устройств ввода в режиме мультитач. Вместо ранее доступных фиксированных обработчиков MouseArea и TouchArea, теперь можно привязывать к элементам свои обработчики различных типов событий, связанных с обработкой перемещения указателя. Можно определить собственный обработчик для каждого сценария взаимодействия, например, активирующийся при касании к экрану, нажатии кнопки мыши, касании заданным числом пальцев, действиях при удержании клавиши-модификатора;
- В Qt Quick реализована возможность прямой загрузки сжатых текстур в форматах ETC1 и ETC2, поддержка мультисэмплинга для слоёв и дополнительные свойства для обработки шрифтов;
- В Qt Qml добавлена возможность определения перечисляемых элементов (enums) и динамического обновления переводов всех строк при изменении языка;
- Улучшена поддержка OpenGL: QSurfaceFormat теперь может быть использован для запроса sRGB-совместимых фреймбуфров, а через QOpenGLExtraFunctions можно получить полный доступ к API OpenGL ES 3.2 на всех поддерживаемых платформах;
- В модуле Qt 3D, который можно рассматривать как полнофункциональный 3D-движок, добавлены новые типы узлов, обеспечена возможность создания шейдеров, представлен предварительный вариант системы скелетной анимации, реализован элемент Scene2D Qt Quick для встраивания 3D-контента в сцену Qt Quick. Проведена оптимизация производительности и снижено потребление памяти. Началась работа по созданию runtime на базе Qt 3D для работы Qt 3D Studio и унификации всех связанных с 3D программных интерфейсов и приложений;
- В Qt Core реализованы новые классы: QStringView, который концептуально напоминает std::string_view, и QRandomGenerator с реализаций высококачественного генератора псевдослучайных чисел;
- В Qt Network обеспечена поддержка библиотеки OpenSSL 1.1, реализована возможность сохранения правил HSTS (HTTP Strict Transport Security) в постоянном хранилище на базе QNetworkAccessManager и добавлена реализация протокола h2c, применяемого в HTTP/2;
- В Qt Widgets добавлена серия улучшений, таких как QWidget::createWindowContainer() для Android, поддержка QOpenGLWidget для отрисовки и захвата неэкранного контента, новое свойство tabStopDistance в QTextOption и QTextEdit, а также новый API для обработки выделения содержимого в QLineEdit;
- Представлен новый эмулятор устройств, симулирующий мультитач и работу на нескольких экранах. Функциональность эмулятора теперь может быть расширена через плагины;
- Qt WebEngine обновлён до кодовой базы Chromium 61, добавлена возможность временной остановки и возобновления загрузок, а также программного инициирования загрузок;
- Из стадии экспериментальных разработок (technology preview) выведены модуль Qt Network Authorization (с поддежкой OAuth 1 & 2) и реализация синтезатора речи для Qt Speech;
Одновременно подготовлен выпуск интегрированной среды разработки Qt Creator 4.5.0, предназначенной для создания кроссплатформенных приложений с использованием библиотеки Qt. Поддерживается как разработка классических программ на языке C++, так и использование языка QML, в котором для определения сценариев используется JavaScript, а структура и параметры элементов интерфейса задаются CSS-подобными блоками.
В новой версии Qt Creator реализован графический интерфейс для управления пакетами для Android SDK. Прекращена поддержка локального развёртывания приложений для Android и системы сборки Ant. Параметры CMake в режиме проекта теперь сгруппированы по префиксу и снабжены специализированными полями редактирования флагов и файловых путей. Улучшена обработка ситуаций со сторонним изменением конфигурации CMake (не через Qt Creator). Проведена модернизация панели навигации по файловой системе - содержимое ФС теперь выводится в древовидном виде с возможностью выбора корневого каталога из предопределённого типового списка (домашний каталог, каталог проекта, каталог с проектами, корень ФС).
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.