Реліз фреймворку Qt 5.13

Після півроку розробки підготовлений реліз кросплатформового фреймворку 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.

Джерело: opennet.ru

Додати коментар або відгук