Rilascio del framework Qt 5.13

Dopo sei mesi di sviluppo preparato rilascio di un framework multipiattaforma Qt 5.13. Il codice sorgente per i componenti Qt è concesso in licenza con LGPLv3 e GPLv2, gli strumenti di sviluppo Qt come Qt Creator e qmake e alcuni moduli sono concessi in licenza con GPLv3.

Il principale innovazioni:

  • Viene fornito pieno supporto per il modulo “Qt for WebAssembly” (precedentemente sperimentale), che consente di compilare applicazioni grafiche basate su Qt sotto forma di moduli WebAssembly che possono essere eseguiti direttamente in un browser web. Emscripten viene utilizzato per la compilazione. OpenGL si traduce in WebGL;
  • Sono state ampliate le capacità del modulo Qt GUI, che generalizza le classi relative all'integrazione con sistemi a finestre, elaborazione di eventi, integrazione con OpenGL e OpenGL ES, grafica 2D, lavoro con immagini, caratteri e testo. La nuova versione aggiunge una nuova API
    QImage::convertTo per convertire i formati immagine. Nuovi metodi clear, riserva e capacità sono stati aggiunti alla classe QPainterPath;

  • Il modulo Qt QML, che fornisce strumenti per sviluppare un'interfaccia utilizzando il linguaggio QML, ha migliorato il supporto per i tipi enumerati definiti nel codice C++. Elaborazione ottimizzata dei valori “nulli” in fase di compilazione. Aggiunta la possibilità di generare tabelle di funzioni su sistemi Windows a 64 bit, consentendo di svolgere lo stack per le funzioni compilate JIT;
  • In Qt Quick, l'oggetto TableView ha aggiunto la possibilità di nascondere colonne e righe di tabella;
  • Aggiunto tipo ai controlli rapidi Qt 2 Vista divisa per posizionare gli elementi orizzontalmente o verticalmente, visualizzando un separatore mobile tra ciascun elemento. È stata aggiunta una proprietà per le icone che permette di controllarne la memorizzazione nella cache;
  • Il motore web Qt WebEngine è stato aggiornato a Chromium 73 e ampliato per supportare un visualizzatore PDF integrato, progettato come componente aggiuntivo interno. La nuova versione aggiunge inoltre l'archiviazione dei certificati client locali e il supporto per i certificati di QML. Aggiunta API di notifiche Web. È stato implementato il supporto per la definizione degli intercettori di richieste URL;
  • Il modulo Qt Network per socket SSL ha aggiunto il supporto per canali sicuri e la possibilità di verificare lo stato dei certificati utilizzando l'OCSP (Online Certificate Status Protocol). Per supportare SSL su Linux e Android è stato utilizzato un nuovo ramo della libreria OpenSSL 1.1;
  • Nel modulo Qt Multimedia per il tipo QML VideoOutput è stato aggiunto il supporto per la riproduzione continua (senza pause tra contenuti diversi, controllata dalla proprietà flushMode). Per Windows e macOS è stata aggiunta la possibilità di utilizzare il framework GStreamer. Aggiunto supporto per ruoli audio per Android;
  • Il modulo Qt KNX è stato aggiornato con il supporto all'omonimo standard per il controllo domotico. Aggiunta un'API per stabilire connessioni client sicure con il server KNXnet, che può essere utilizzata per inviare messaggi in modo sicuro al bus KNX e controllare i dispositivi abilitati KNX;
  • Il flag di sviluppo sperimentale è stato rimosso dall'API C++ del modulo Qt OPC UA, che fornisce supporto per lo standard di comunicazione industriale OPC/UA. Aggiunta API sperimentale per QML;
  • È stato aggiunto un nuovo modulo sperimentale Qt CoAP Constrained Application Protocol con l'implementazione della parte client del protocollo M2M utilizzato per creare reti di dispositivi Internet of Things. Supporto implementato per DTLS (Datagram TLS) su UDP;
  • Sono state apportate correzioni e miglioramenti al set di moduli "Qt for Python" per la creazione di applicazioni grafiche in Python utilizzando Qt5 (gli sviluppatori Python hanno accesso alla maggior parte delle API Qt C++). Qt for Python è basato sul modulo PySide2 e ne continua lo sviluppo (infatti, la prima release di PySide con supporto per Qt 5 viene offerta con un nuovo nome);
  • Aggiunto nuovo modulo sperimentale Qt Lottie, che fornisce un'API QML avanzata che consente di eseguire il rendering di grafica e animazioni esportate in formato JSON utilizzando il plug-in Bodymovin per Adobe After Effects. Grazie a QtLottie, un designer può preparare effetti di animazione in una comoda applicazione e uno sviluppatore può collegare direttamente i file esportati all'interfaccia dell'applicazione su QtQuick. QtLottie include un micro motore integrato per eseguire animazioni, ritagli, sovrapposizioni e altri effetti. Il motore è accessibile tramite l'elemento QML LottieAnimation, che può essere controllato dal codice QML allo stesso modo di qualsiasi altro elemento QtQuick;
  • Qt Wayland Compositor, un sistema di rendering multi-thread per dispositivi embedded basato sul protocollo Wayland, fornisce supporto per i protocolli linux-dmabuf-unstable-v1 e wp_viewporter. Il supporto per il protocollo fullscreen-shell-unstable-v1 è stato aggiunto ai componenti della piattaforma per Wayland;
  • Nel modulo per supportare la piattaforma Android è stata aggiunta la possibilità di utilizzare finestre di dialogo native per lavorare con i file. I requisiti per la versione minima della piattaforma sono stati aumentati ad Android 5.0 (livello API 21);
  • Qt 3D ha aggiunto il supporto per l'importazione e l'esportazione di renderer di texture OpenGL. Implementato il supporto iniziale per l'importazione di scene glTF 2.0;
  • I moduli Qt Script sono stati deprecati e verranno rimossi in una versione futura.
    Qt Controlli rapidi 1 e Qt XmlPatterns. Il modulo Qt Canvas 3D è stato rimosso.

Fonte: opennet.ru

Aggiungi un commento