Qt 5.13 raamwerk vrystelling

Na ses maande van ontwikkeling voorberei vrystelling van 'n kruisplatform-raamwerk Qt 5.13. Die bronkode vir Qt-komponente is gelisensieer onder LGPLv3 en GPLv2, Qt-ontwikkelaarnutsgoed soos Qt Creator en qmake, en sommige modules is onder GPLv3 gelisensieer.

Die belangrikste innovasies:

  • Volle ondersteuning word verskaf vir die "Qt for WebAssembly"-module (voorheen eksperimenteel), wat jou toelaat om Qt-gebaseerde grafiese toepassings saam te stel in die vorm van WebAssembly-modules wat direk in 'n webblaaier uitgevoer kan word. Emscripten word vir samestelling gebruik. OpenGL vertaal na WebGL;
  • Die vermoëns van die Qt GUI-module is uitgebrei, wat klasse veralgemeen wat verband hou met integrasie met vensterstelsels, gebeurtenisverwerking, integrasie met OpenGL en OpenGL ES, 2D-grafika, werk met beelde, lettertipes en teks. Die nuwe weergawe voeg 'n nuwe API by
    QImage :: convertTo vir die omskakeling van beeldformate. Nuwe metodes duidelik, reserwe en kapasiteit is bygevoeg tot die QPainterPath klas;

  • Die Qt QML-module, wat gereedskap verskaf vir die ontwikkeling van 'n koppelvlak deur die QML-taal te gebruik, het verbeterde ondersteuning vir opgesomde tipes wat in C++-kode gedefinieer word. Geoptimaliseerde verwerking van "nul" waardes in die samestellingstadium. Die vermoë bygevoeg om funksietabelle op 64-bis Windows-stelsels te genereer, sodat jy die stapel vir JIT-saamgestelde funksies kan ontspan;
  • In Qt Quick het die TableView-objek die vermoë bygevoeg om tabelkolomme en -rye te versteek;
  • Tipe bygevoeg by Qt Quick Controls 2 SplitView om elemente horisontaal of vertikaal te plaas, met 'n verskuifbare skeier tussen elke element. 'n Eienskap is bygevoeg vir ikone wat jou toelaat om hul kas te beheer;
  • Die Qt WebEngine-webenjin is opgedateer na Chromium 73 en uitgebrei met ondersteuning vir 'n ingeboude PDF-kyker, ontwerp as 'n interne byvoeging. Die nuwe weergawe voeg ook plaaslike kliëntsertifikaatberging en ondersteuning vir sertifikate van QML by. Bygevoeg Web Kennisgewings API. Ondersteuning vir die definisie van URL-versoekonderskeppers is geïmplementeer;
  • Die Qt Network-module vir SSL-sokke het ondersteuning bygevoeg vir veilige kanale en die vermoë om die status van sertifikate na te gaan met behulp van die OCSP (Online Certificate Status Protocol). Om SSL op Linux en Android te ondersteun, word 'n nuwe tak van die OpenSSL 1.1-biblioteek gebruik;
  • In die Qt Multimedia-module vir die QML-tipe VideoOutput, is ondersteuning vir deurlopende afspeel bygevoeg (sonder pouses tussen verskillende inhoude, beheer deur die flushMode-eienskap). Vir Windows en macOS is die vermoë om die GStreamer-raamwerk te gebruik bygevoeg. Bygevoeg ondersteuning vir klank rolle vir Android;
  • Die Qt KNX-module is opgedateer met ondersteuning vir die standaard met dieselfde naam vir tuisoutomatiseringsbeheer. 'n API bygevoeg vir die vestiging van veilige kliëntverbindings met die KNXnet-bediener, wat gebruik kan word om veilig boodskappe na die KNX-bus te stuur en KNX-geaktiveerde toestelle te beheer;
  • Die eksperimentele ontwikkelingsvlag is verwyder van die C++ API van die Qt OPC UA-module, wat ondersteuning bied vir die OPC/UA industriële kommunikasiestandaard. Bygevoeg eksperimentele API vir QML;
  • 'n Nuwe eksperimentele module Qt CoAP-beperkte toepassingsprotokol is bygevoeg met die implementering van die kliëntdeel van die M2M-protokol wat gebruik word om netwerke van Internet of Things-toestelle te skep. Geïmplementeerde ondersteuning vir DTLS (Datagram TLS) oor UDP;
  • Regstellings en verbeterings is aangebring aan die "Qt for Python" stel modules vir die skep van grafiese toepassings in Python met behulp van Qt5 (Python-ontwikkelaars het toegang tot die meeste van die Qt C++ API). Qt for Python is gebaseer op die PySide2-module en gaan voort met die ontwikkeling daarvan (trouens, die eerste weergawe van PySide met ondersteuning vir Qt 5 word onder 'n nuwe naam aangebied);
  • Nuwe eksperimentele module bygevoeg Qt Lottie, wat 'n gevorderde QML API bied wat jou toelaat om grafika en animasies wat in JSON-formaat uitgevoer word weer te gee deur die Bodymovin-inprop vir Adobe After Effects te gebruik. Danksy QtLottie kan 'n ontwerper animasie-effekte in 'n gerieflike toepassing voorberei, en 'n ontwikkelaar kan uitvoerlêers direk aan die toepassingskoppelvlak op QtQuick koppel. QtLottie bevat 'n ingeboude mikro-enjin vir die uitvoering van animasie, uitsny, lae en ander effekte. Die enjin is toeganklik deur die LottieAnimation QML-element, wat op dieselfde manier as enige ander QtQuick-elemente vanaf QML-kode beheer kan word;
  • Qt Wayland Compositor, 'n multi-threaded-weergawestelsel vir ingebedde toestelle gebaseer op die Wayland-protokol, bied ondersteuning vir die linux-dmabuf-unstable-v1- en wp_viewporter-protokolle. Ondersteuning vir die fullscreen-shell-unstable-v1-protokol is by platformkomponente vir Wayland gevoeg;
  • In die module om die Android-platform te ondersteun, is die vermoë om inheemse dialoë te gebruik om met lêers te werk, bygevoeg. Vereistes vir die minimum weergawe van die platform is verhoog na Android 5.0 (API-vlak 21);
  • Qt 3D het ondersteuning bygevoeg vir die invoer en uitvoer van OpenGL-tekstuurweergawes. Aanvanklike ondersteuning geïmplementeer vir die invoer van glTF 2.0-tonele;
  • Die Qt Script-modules is opgeskort en sal in 'n toekomstige vrystelling verwyder word.
    Qt Quick Controls 1 en Qt XmlPatterns. Die Qt Canvas 3D-module is verwyder.

Bron: opennet.ru

Voeg 'n opmerking