La società Qt Company ha pubblicato il rilascio del framework Qt 6.3, continuando il lavoro di stabilizzazione e ampliamento delle funzionalità del ramo Qt 6. In Qt 6.3 è garantito il supporto per le piattaforme Windows 10, macOS 10.14+, Linux (Ubuntu 20.04, CentOS 8.2, openSUSE 15.3, SUSE 15 SP2), iOS 13+, Android 6+ (API 23+), webOS, INTEGRITY e QNX. I codici sorgente dei componenti Qt vengono forniti sotto le licenze LGPLv3 e GPLv2.
Principali novità in Qt 6.3:
- Nel modulo Qt QML è stata proposta un'implementazione sperimentale del compilatore qmltc (compilatore di tipo QML), che consente di compilare strutture di oggetti QML in classi in C++. Per gli utenti commerciali, Qt 6.3 ha preparato il prodotto Qt Quick Compiler, che oltre al precedente QML Type Compiler include il QML Script Compiler, che consente di compilare funzioni ed espressioni QML in codice C++. Si sottolinea che l'uso del Qt Quick Compiler può avvicinare le prestazioni delle applicazioni basate su QML a quelle delle applicazioni native; in particolare, si segnala che la compilazione delle estensioni ha ridotto il tempo di avvio e di esecuzione di circa il 20-35% rispetto all'utilizzo della variante interpretata.

- È stato implementato il modulo 'Qt Language Server' con supporto per i protocolli Language Server e JsonRpc 2.0.
- Nel modulo Qt Wayland Compositor è stato aggiunto un compositore. server Qt Shell e API per la creazione di estensioni personalizzate della shell utente.
- In Qt Quick Controls sono stati integrati i tipi QML CalendarModel e TreeView con implementazione delle interfacce per la visualizzazione del calendario e dei dati in un formato ad albero.


- Nel modulo Qt Quick Dialogs sono stati aggiunti i tipi QML MessageDialog e FolderDialog per l'utilizzo delle finestre di dialogo di sistema fornite dalla piattaforma, per la visualizzazione di messaggi e la navigazione tra i file.

- In Qt Quick sono state migliorate le prestazioni e l'efficienza nella gestione del testo. Ad esempio, sono stati risolti i problemi di rallentamento del rendering e di elevato consumo di memoria durante la trasmissione di documenti molto grandi nei componenti Text, TextEdit, TextArea e TextInput.
- Nel modulo Qt Quick 3D è stato aggiunto l'elemento QML ReflectionProbe per il rendering delle riflessioni degli oggetti. È stata ampliata l'API 3D Particles per l'aggiunta di effetti alle scene 3D generati da grandi aggregazioni di particelle (fumo, nebbia, ecc.). È stato implementato un nuovo elemento ResourceLoader, che fornisce strumenti per gestire le risorse in Qt Quick 3D e consente di organizzare il caricamento anticipato di grandi risorse, come mesh o texture, e di controllare la possibilità di scaricare risorse che non rientrano nell'area visibile della scena.

- È stata aggiunta una implementazione preliminare del modulo Qt PDF, che era presente in Qt 5.15, ma non è stata inclusa in Qt 6.

- Nel modulo Qt Core è stata aggiunta una grande quantità di nuove funzioni, principalmente legate all'estensione delle capacità di elaborazione dei dati delle stringhe. In QLocale è stato aggiunto il supporto per i codici delle lingue ISO639-2. In QDate, QTime e QLocale è stato aggiunto il supporto per i specificatori di tempo AM/PM. È stato semplificato il processo di conversione tra i formati JSON e CBOR. Sono stati aggiunti i metodi QtFuture::whenAll() e whenAny().
- In Qt Positioning è stata fornita la possibilità di definire la precisione dei dati sulla posizione forniti dalle piattaforme Android e iOS.
- In Qt Bluetooth è stata garantita la visualizzazione delle informazioni sul supporto Bluetooth LE e sullo stato dell'adattatore Bluetooth in Windows.
- In Qt Widgets è stata migliorata la supporto per schermi ad alta risoluzione, stili e modifiche all'aspetto tramite tabelle di stile.
- È stato migliorato il sistema di build basato su CMake. È stata aggiunta la funzione qt-generate-deploy-app-script(), che semplifica la generazione di script per il deployment delle applicazioni su diverse piattaforme.
- È stato fatto un grande lavoro per migliorare la stabilità e la qualità del codice. Rispetto al rilascio di Qt 6.2, sono stati chiusi 1750 rapporti di errore.
- Nei prossimi rilasci significativi di Qt 6.x è prevista l'implementazione completa del supporto per WebAssembly, QHttpServer, gRPC, backend per Qt Multimedia basato su FFmpeg, Qt Speech e Qt Location.
Fonte: opennet.ru






