Рэліз фрэймворка 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

Дадаць каментар