Релиз фреймворка Qt 5.13

Материал из Викиновостей, свободного источника новостей

19 июня 2019 года

После полугода разработки подготовлен релиз кроссплатформенного фреймворка Qt 5.13. Исходные тексты компонентов Qt поставляются под лицензиями LGPLv3 и GPLv2, инструменты Qt для разработчиков, такие как Qt Creator и qmake, а также некоторые модули поставляются под лицензией GPLv3.

Основные новшества:

  • Обеспечена полноценная поддержка модуля "Qt for WebAssembly" (ранее был экспериментальным), который позволяет компилировать графические приложения на базе Qt в виде модулей на WebAssembly, которые можно запускать непосредственно в web-браузере. Для компиляции применяется Emscripten. OpenGL транслируется в WebGL;
  • Расширены возможности модуля Qt GUI, который обобщает классы, связанные с интеграцией с оконными системами, обработкой событий, интеграцией с OpenGL и OpenGL ES, 2D-графикой, работой с изображениями, шрифтами и текстом. В новой версии добавлен новый API

QImage::convertTo для преобразования форматов изображений. В класс QPainterPath добавлены новые методы clear, reserve и capacity;

  • В модуле Qt QML, предоставляющем средства для разработки интерфейса при помощи языка QML, улучшена поддержка перечисляемых типов, определённых в коде на C++. Оптимизирована обработка значений "null" на стадии компиляции. Добавлена возможность генерации таблиц функций на 64-разрядных системах Windows, позволяющих выполнить раскручивание стека (unwind) для JIT-скомпилированных функций;
  • В Qt Quick в объекте TableView добавлена возможность скрытия столбцов и строк таблиц;
  • В Qt Quick Controls 2 добавлен тип SplitView(недоступная ссылка) для горизонтального или вертикального размещения элементов с отображением перемещаемого разделителя между каждым элементом. Для пиктограмм добавлена свойство, позволяющее управлять их кэшированием;
  • Web-движок Qt WebEngine обновлён до состояния Chromium 73 и расширен поддержкой встроенного PDF-просмотрщика, оформленного в виде внутреннего дополнения. В новом выпуске также добавлено хранилище локальных клиентских сертификатов и поддержка сертификатов из QML. Добавлен API Web Notifications. Реализована поддержка определения перехватчиков запросов URL;
  • В модуле Qt Network для SSL-сокетов добавлена поддержка защищённых каналов (Secure Channel) и возможность проверки статуса сертификатов при помощи протокола OCSP (Online Certificate Status Protocol). Для поддержки SSL в Linux и Android задействована новая ветка библиотеки OpenSSL 1.1;
  • В модуле Qt Multimedia для QML типа VideoOutput добавлена поддержка неразрывного воспроизведения (без пауз между разным контентом, управляется свойством flushMode). Для Windows и macOS добавлена возможность использования фреймворка GStreamer. Для Android добавлена поддержка звуковых ролей;
  • Обновлён модуль Qt KNX с поддержкой одноимённого стандарта для управления домашней автоматизацией. Добавлен API для установки безопасных клиентских соединений с сервером KNXnet, которые можно использовать для защищённой отправки сообщений в шину KNX и управления устройствами с поддержкой KNX;
  • Снят признак экспериментальной разработки с C++ API модуля Qt OPC UA, обеспечивающего поддержку промышленного коммуникационного стандарта OPC/UA. Добавлен экспериментальный API для QML;
  • Добавлен новый экспериментальный модуль Qt CoAP Constrained Application Protocol) с реализацией клиентской части протокола M2M, применяемого для создания сетей из устройств интернета вещей. Реализована поддержка DTLS (Datagram TLS) поверх UDP;
  • Внесены исправления и улучшения в набор модулей "Qt for Python" для создания графических приложений на языке Python с использованием Qt5 (разработчикам на языке Python предоставляется доступ к большей части C++ API Qt). Qt for Python основан на модуле PySide2 и продолжает его развитие (по сути под новым именем предлагается первый выпуск PySide с поддержкой Qt 5);
  • Добавлен новый экспериментальный модуль Qt Lottie(недоступная ссылка), предоставляющий расширенный API для QML, позволяющий отрисовывать графику и анимацию, экспортированную в формате JSON при помощи плагина Bodymovin к пакету Adobe After Effects. Благодаря QtLottie дизайнер может подготовить анимационные эффекты в удобном для себя приложении, а разработчик напрямую подключить экспортированные файлы к интерфейсу приложений на QtQuick. QtLottie включает в себя встроенный микродвижок для выполнения анимации, обрезки, обработки слоёв и других эффектов. Движок доступен через QML-элемент LottieAnimation, которым можно управлять из QML-кода по аналогии с любыми другими элементами QtQuick;
  • В Qt Wayland Compositor, многопоточной системе отрисовки для встраиваемых устройств на базе протокола Wayland, обеспечена поддержка протоколов linux-dmabuf-unstable-v1 и wp_viewporter. В компонентах платформы для Wayland добавлена поддержка протокола fullscreen-shell-unstable-v1;
  • В модуле для поддержки платформы Android добавлена возможность использования родных диалогов для работы с файлами. Требования к минимальной версии платформы подняты до Android 5.0 (API level 21);
  • В Qt 3D добавлена поддержка импорта и экспорта обработчиков текстур OpenGL. Реализована начальная поддержка импорта сцен glTF 2.0;
  • Объявлены устаревшими и будут удалены в одном из следующих выпусков модули Qt Script,

Qt Quick Controls 1 и Qt XmlPatterns. Удалён модуль Qt Canvas 3D.

Источники[править]


Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «Релиз фреймворка Qt 5.13», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.