Dopo sei mesi di sviluppo il rilascio del framework multiplatforma . I testi sorgente dei componenti Qt sono forniti sotto licenze LGPLv3 e GPLv2. Gli strumenti Qt per gli sviluppatori, come Qt Creator e qmake, così come alcuni moduli, sono forniti sotto licenza GPLv3.
Principali :
- È fornito un supporto completo per il modulo «Qt for WebAssembly» (precedentemente era sperimentale), che consente di compilare applicazioni grafiche basate su Qt in moduli WebAssembly, che possono essere eseguiti direttamente nel web browser. Per la compilazione viene utilizzato Emscripten. OpenGL viene tradotto in WebGL;
- Sono state ampliate le capacità del modulo Qt GUI, che astrae le classi relative all'integrazione con i sistemi di finestra, al trattamento degli eventi, all'integrazione con OpenGL e OpenGL ES, alla grafica 2D, alla gestione delle immagini, dei caratteri e del testo. Nella nuova versione è stato aggiunto un nuovo API
QImage::convertTo per la conversione dei formati delle immagini. Sono stati aggiunti nuovi metodi clear, reserve e capacity alla classe QPainterPath; - Nel modulo Qt QML, che fornisce strumenti per lo sviluppo dell'interfaccia utilizzando il linguaggio QML, è stato migliorato il supporto per i tipi enum definiti nel codice C++. È stata ottimizzata la gestione dei valori "null" in fase di compilazione. È stata aggiunta la possibilità di generare tabelle delle funzioni su sistemi Windows a 64 bit, consentendo il unwind dello stack per le funzioni compilate JIT.
- In Qt Quick, nell'oggetto TableView è stata aggiunta la possibilità di nascondere colonne e righe delle tabelle.
- In Qt Quick Controls 2 è stato aggiunto il tipo per il posizionamento orizzontale o verticale degli elementi con la visualizzazione di un separatore mobile tra ciascun elemento. Per le icone è stata aggiunta una proprietà che consente di gestire la loro memorizzazione nella cache.
- Il motore web Qt WebEngine è stato aggiornato alla versione Chromium 73 ed è stato esteso dal supporto per un visualizzatore PDF integrato, realizzato come componente interno. Nel nuovo rilascio è stato anche aggiunto uno storage per certificati client locali e supporto per certificati da QML. È stata aggiunta l'API Web Notifications. È stato implementato il supporto per la definizione degli intercettatori delle richieste URL.
- Nel modulo Qt Network è stata aggiunta la supporto per i canali sicuri (Secure Channel) e la possibilità di verificare lo stato dei certificati tramite il protocollo OCSP (Online Certificate Status Protocol) per i socket SSL. Per supportare SSL in Linux e Android è stata implementata una nuova versione della libreria OpenSSL 1.1;
- Nel modulo Qt Multimedia è stata aggiunta la supporto per la riproduzione continua (senza pause tra contenuti diversi, controllato dalla proprietà flushMode) per il tipo VideoOutput di QML. È stata aggiunta la possibilità di utilizzare il framework GStreamer per Windows e macOS. Per Android è stato aggiunto il supporto per i ruoli audio;
- È stato aggiornato il modulo Qt KNX con supporto per il relativo standard per la gestione dell'automazione domestica. È stata aggiunta un'API per stabilire connessioni sicure con il server KNXnet, che possono essere utilizzate per l'invio sicuro di messaggi sul bus KNX e per il controllo dei dispositivi compatibili con KNX;
- È stata rimossa la designazione di sviluppo sperimentale dall'API C++ del modulo Qt OPC UA, che fornisce supporto per lo standard di comunicazione industriale OPC/UA. È stata aggiunta un'API sperimentale per QML;
- È stato aggiunto un nuovo modulo sperimentale Qt CoAP (Constrained Application Protocol) con implementazione della parte client del protocollo M2M, utilizzato per creare reti di dispositivi Internet of Things. È stata implementata la supporto a 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 (agli sviluppatori Python è fornito accesso alla maggior parte dell'API C++ di Qt). Qt for Python è basato sul modulo PySide2 e continua il suo sviluppo (essenzialmente il primo rilascio di PySide con supporto per Qt 5 viene offerto con un nuovo nome);
- È stato aggiunto un nuovo modulo sperimentale , fornisce un'API avanzato per QML, consentendo di disegnare grafica e animazione esportate in formato JSON tramite il plugin Bodymovin per Adobe After Effects. Grazie a QtLottie, i designer possono preparare effetti animati nell'applicazione di loro scelta, mentre gli sviluppatori possono collegare direttamente i file esportati all'interfaccia delle applicazioni su QtQuick. QtLottie include un micro-motore integrato per l'esecuzione di animazioni, ritaglio, elaborazione dei layer e altri effetti. Il motore è accessibile tramite l'elemento QML LottieAnimation, che può essere controllato dal codice QML come qualsiasi altro elemento di QtQuick;
- Nel Qt Wayland Compositor, un sistema di rendering multithreading per dispositivi integrati basato sul protocollo Wayland, è garantito il supporto per i protocolli linux-dmabuf-unstable-v1 e wp_viewporter. È stata aggiunta la supporto per il protocollo fullscreen-shell-unstable-v1 nei componenti della piattaforma per Wayland;
- Nel modulo di supporto per la piattaforma Android è stata aggiunta la possibilità di utilizzare dialoghi nativi per la gestione dei file. I requisiti per la versione minima della piattaforma sono stati elevati a Android 5.0 (API level 21);
- In Qt 3D è stata aggiunta la supporto per l'importazione e l'esportazione dei gestori di texture OpenGL. È stata implementata la prima supporto per l'importazione di scene glTF 2.0;
- I moduli Qt Script, Qt Quick Controls 1 e Qt XmlPatterns sono dichiarati obsoleti e verranno rimossi in una delle prossime versioni. È stato rimosso il modulo Qt Canvas 3D.
Dopo sei mesi di sviluppo è stata preparata la release del framework multipiattaforma Qt 5.13. I sorgenti dei componenti Qt sono forniti sotto le licenze LGPLv3 e GPLv2, mentre gli strumenti Qt per sviluppatori, come Qt Creator e qmake, così come alcuni moduli, sono forniti sotto la licenza GPLv3. Le principali novità: è stata garantita un'adeguata supporto per il modulo "Qt for WebAssembly" (precedentemente era sperimentale), che consente di compilare applicazioni grafiche su
Fonte: opennet.ru
