După șase luni de dezvoltare lansarea unui cadru multiplatformă . Codurile sursă ale componentelor Qt sunt furnizate sub licențele LGPLv3 și GPLv2, instrumentele Qt pentru dezvoltatori, cum ar fi Qt Creator și qmake, precum și unele module sunt furnizate sub licența GPLv3.
Principalele :
- Este asigurat suport complet pentru modulul „Qt for WebAssembly” (anterior considerat experimental), care permite compilarea aplicațiilor grafice bazate pe Qt ca module WebAssembly, care pot fi rulate direct în browserul web. Pentru compilare se utilizează Emscripten. OpenGL este transformat în WebGL;
- Funcționalitatea modulului Qt GUI a fost extinsă, generalizând clasele legate de integrarea cu sistemele de feronerie, gestionarea evenimentelor, integrarea cu OpenGL și OpenGL ES, grafică 2D, manipularea imaginilor, fonturi și text. Noua versiune introduce un nou API
QImage::convertTo pentru conversia formatelor de imagine. Au fost adăugate noi metode clear, reserve și capacity în clasa QPainterPath; - În modulul Qt QML, care oferă instrumente pentru dezvoltarea interfețelor cu ajutorul limbajului QML, a fost îmbunătățit suportul pentru tipurile enumerate definite în codul C++. Procesarea valorilor „null” a fost optimizată în etapa de compilare. A fost adăugată posibilitatea de a genera tabele de funcții pe sisteme Windows pe 64 de biți, care permit desfășurarea stivei (unwind) pentru funcțiile compilate JIT;
- În Qt Quick, obiectul TableView a primit posibilitatea de a ascunde coloanele și rândurile din tabele;
- În Qt Quick Controls 2 a fost adăugat tipul pentru aranjarea orizontală sau verticală a elementelor cu un separator mobil între fiecare element. A fost adăugată o proprietate pentru pictograme care permite gestionarea caching-ului acestora;
- Motorul web Qt WebEngine a fost actualizat la starea Chromium 73 și a fost extins cu suport pentru un vizualizator PDF încorporat, implementat ca un plugin intern. De asemenea, în noua versiune a fost adăugat un depozit pentru certificatele clientului locale și suport pentru certificate din QML. A fost introdus API-ul Web Notifications. A fost implementat suportul pentru interceptarea cererilor URL;
- În modulul Qt Network pentru socket-uri SSL, a fost adăugat suport pentru canale securizate (Secure Channel) și capacitatea de a verifica statusul certificatelor prin intermediul protocolului OCSP (Online Certificate Status Protocol). O nouă ramură a bibliotecii OpenSSL 1.1 a fost implicată pentru suportul SSL în Linux și Android;
- În modulul Qt Multimedia pentru QML tipul VideoOutput s-a adăugat suport pentru redare neîntreruptă (fără pauze între diferite conținuturi, gestionat de proprietatea flushMode). Pentru Windows și macOS s-a adăugat posibilitatea utilizării framework-ului GStreamer. Pentru Android s-a adăugat suport pentru rolurile audio;
- Modulul Qt KNX a fost actualizat cu suport pentru standardul omonim de gestionare a automatizării locuinței. A fost adăugată o API pentru stabilirea de conexiuni client securizate cu serverul KNXnet, care pot fi folosite pentru trimiterea protejată a mesajelor pe magistrala KNX și gestionarea dispozitivelor cu suport KNX;
- Marcajul de dezvoltare experimentală a fost eliminat din API-ul C++ al modulului Qt OPC UA care oferă suport pentru standardul de comunicare industrial OPC/UA. A fost adăugată o API experimentală pentru QML;
- A fost adăugat un nou modul experimental Qt CoAP (Constrained Application Protocol) cu implementarea părții client a protocolului M2M, utilizat pentru construirea rețelelor din dispozitive Internet of Things. A fost implementat suport pentru DTLS (Datagram TLS) deasupra UDP;
- S-au făcut corecții și îmbunătățiri în setul de module «Qt for Python» pentru crearea aplicațiilor grafice în limba Python folosind Qt5 (dezvoltatorii în Python au acces la majoritatea API-ului C++ Qt). Qt for Python se bazează pe modulul PySide2 și continuă dezvoltarea acestuia (de fapt, sub un nou nume, prima versiune PySide cu suport pentru Qt 5 este propusă);
- A fost adăugat un nou modul experimental , oferind o API extinsă pentru QML care permite redarea graficii și animației exportate în format JSON prin intermediul plugin-ului Bodymovin pentru pachetul Adobe After Effects. Datorită QtLottie, designerul poate pregăti efecte animate în aplicația preferată, iar dezvoltatorul poate conecta direct fișierele exportate la interfața aplicațiilor în QtQuick. QtLottie include un micro-mecanism încorporat pentru executarea animațiilor, decupare, procesarea straturilor și alte efecte. Mecanismul este disponibil prin elementul QML LottieAnimation, care poate fi controlat din codul QML, similar cu oricare alte elemente QtQuick;
- În Qt Wayland Compositor, un sistem de randare multi-thread pentru dispozitive încorporate bazat pe protocolul Wayland, a fost asigurat suportul pentru protocoalele linux-dmabuf-unstable-v1 și wp_viewporter. În componentele platformei pentru Wayland s-a adăugat suport pentru protocolul fullscreen-shell-unstable-v1;
- În modulul de suport pentru platforma Android a fost adăugată posibilitatea de a folosi dialoguri native pentru gestionarea fișierelor. Cerințele pentru versiunea minimă a platformei au fost ridicate la Android 5.0 (API level 21);
- În Qt 3D a fost adăugat suport pentru importul și exportul manivelor pentru texturi OpenGL. A fost implementat suport inițial pentru importul de scene glTF 2.0;
- Modulele Qt Script, Qt Quick Controls 1 și Qt XmlPatterns au fost declarate învechite și vor fi eliminate într-una dintre următoarele versiuni.
A fost eliminat modulul Qt Canvas 3D.
Sursa: opennet.ro
