Dopo sei mesi di sviluppo il rilascio del framework multiplatforma . I codici sorgente dei componenti Qt sono forniti sotto le licenze LGPLv3 e GPLv2, gli strumenti Qt per sviluppatori, come Qt Creator e qmake, così come alcuni moduli, sono forniti sotto la licenza GPLv3. Il rilascio di Qt 5.14 segna l'inizio della preparazione del ramo Qt 6, in cui importanti cambiamenti architettonici. Qt 6 è previsto per la fine del prossimo anno e per facilitare la transizione al nuovo ramo, è stato deciso di includere nei rilasci di Qt 5.14 e Qt 5.15 LTS delle implementazioni preliminari di alcune novità.
Principali :
- In Qt Quick è iniziato il lavoro per fornire un'API grafica indipendente dall'API 3D del sistema operativo. In Qt 5.14 implementazione preliminare di un nuovo motore di rendering delle scene, che utilizza un nuovo strato RHI (Rendering Hardware Interface) per garantire il funzionamento delle applicazioni Qt Quick non solo su OpenGL, come in passato, ma anche utilizzando Vulkan, Metal e Direct 3D 11. Attualmente, il nuovo motore è offerto come un'opzione per preparare le applicazioni alla transizione a Qt 6, in cui RHI sarà utilizzato per il rendering grafico per impostazione predefinita.
- È stato implementato il modulo Qt Quick Timeline, che semplifica l'animazione delle proprietà tramite una timeline e fotogrammi chiave. Il modulo è stato estratto dal codice dell'ambiente di sviluppo Qt Design Studio, che offre un editor basato su timeline per creare animazioni senza scrivere codice.
- È stato aggiunto un modulo sperimentale , fornendo un'API unificato per la creazione di interfacce utente basate su Qt Quick, che combinano elementi di grafica 2D e 3D. La nuova API consente di utilizzare QML per definire elementi 3D delle interfacce senza ricorrere al formato UIP. Il modulo affronta problemi come l'elevato overhead nell'integrazione di QML con contenuti provenienti da Qt 3D o 3D Studio, e fornisce la possibilità di sincronizzare animazioni e trasformazioni a livello di singolo frame tra 2D e 3D. In Qt Quick 3D è possibile utilizzare un solo runtime (Qt Quick), un unico layout della scena e un unico framework di animazione, applicando Qt Design Studio per lo sviluppo visivo dell'interfaccia.
- Aggiunto WheelHandler, un gestore di eventi per la rotella del mouse, così come eventi per la rotella emulata dal touchpad.
- Proseguito il lavoro per migliorare l'esperienza sugli schermi ad alta densità di pixel. È stata inoltre aggiunta la possibilità di impostare coefficienti di scala frazionari.
- Aggiunta la possibilità di includere spazi colore per le immagini, permettendo una corretta riproduzione dei colori nella visualizzazione delle immagini su monitor calibrati.
- È stato aggiunto lo spazio dei nomi QColorConstants, che consente di generare istanze della classe QColor con una palette predefinita durante la fase di compilazione.
- Nei componenti Qt Widgets e Qt Quick è stata aggiunta la supporto per la lettura e scrittura in formato Markdown per la creazione di editor di testo.
- Nell'API QCalendar è stata implementata la possibilità di lavorare con calendari diversi da quello gregoriano.
- Per Android è stato introdotto il supporto per build che coprono più ABI, permettendo di compilare simultaneamente l'applicazione per diverse architetture. È stato inoltre aggiunto il supporto per il formato di pacchetti AAB, che consente la fornitura dell'applicazione per tutte le architetture supportate in un unico archivio.
- Ottimizzazione delle prestazioni del modulo Qt 3D, inclusa la modernizzazione della gestione dei thread, degli oggetti framebuffer e del sistema di notifiche. Questo ha portato a una diminuzione del carico sulla CPU durante il rendering dei frame e a un miglioramento dell'efficienza della sincronizzazione tra i thread in esecuzione.
- Al modulo Qt Network sono stati aggiunti API per la configurazione dei parametri HTTP/2 e per il monitoraggio della connessione di rete.
- Il motore Web Qt WebEngine è stato aggiornato allo stato Chromium 77 ed è stato arricchito con una nuova API per il controllo del ciclo di vita dell'oggetto QWebEnginePage.
- Licenza per i componenti Qt Wayland Compositor, Qt Application Manager e Qt PDF da LGPLv3 a GPLv3, ossia l'integrazione con le nuove versioni di questi componenti richiede ora l'apertura dei codici sorgente delle applicazioni sotto licenze compatibili con la GPLv3, oppure l'acquisto di una licenza commerciale (l'uso della LGPLv3 consentiva l'integrazione con codice proprietario).
Simultaneamente rilascio dell'ambiente di sviluppo integrato , destinato alla creazione di applicazioni multipiattaforma utilizzando la libreria Qt. Supporta sia lo sviluppo di programmi tradizionali in C++, sia l'uso del linguaggio QML, dove per definire gli script viene utilizzato JavaScript, mentre la struttura e i parametri degli elementi dell'interfaccia sono definiti in blocchi simili a CSS.
Nella nuova versione di Qt Creator è stata aggiunta la supporto sperimentale per lo sviluppo di applicazioni per microcontrollori e la compilazione in WebAssembly, utilizzando i moduli «» e «». Per i sistemi con
CMake 3.14 e versioni più recenti, è stato introdotto un nuovo (/.cmake/api/). Nell'editor di codice è stata aggiunta la supporto per protocollo Language Server per l'evidenziazione semantica, e semplificata la configurazione del Language Server per il linguaggio Python. Nell'interfaccia è stata aggiunta un'opzione per modificare lo stile di marcatura della fine delle righe. In Qt Quick Designer è stata introdotta la possibilità di modificare i binding QML.
Fonte: opennet.ru
