L'azienda Qt Company ha pubblicato il rilascio del framework Qt 6.1, in cui continua il lavoro di stabilizzazione e ampliamento delle funzionalità della serie Qt 6. In Qt 6.1 è garantito il supporto per le piattaforme Windows 10, macOS 10.14+, Linux (Ubuntu 20.04+, CentOS 8.1+, OpenSuSE 15.1+), iOS 13+ e Android (API 23+). I sorgenti dei componenti Qt sono forniti sotto le licenze LGPLv3 e GPLv2.
I principali miglioramenti in Qt 6.1 riguardano principalmente l'inclusione nei moduli che erano disponibili in Qt 5.15, ma non erano pronti per essere inclusi nel primo rilascio di Qt 6. In particolare, sono stati inclusi i seguenti moduli:
- Active Qt — supporto per i controlli COM e ActiveX sulla piattaforma Windows.
- Qt Charts — creazione di grafici.
- Qt Data Visualization — visualizzazione di dati statici e dinamici.
- Qt Device Utilities — parte del pacchetto Qt for Device Creation.
- Qt Graphical Effect — un livello per semplificare il porting delle applicazioni su Qt 6.
- Qt Lottie — disegna grafiche e animazioni esportate in formato JSON mediante il plugin Bodymovin per Adobe After Effects. Include un micro motore integrato per eseguire animazioni, ritagli, elaborazione dei livelli e altri effetti.
- Qt State Machine — framework per la creazione di costruzioni orientate agli eventi e realizzazione di automi finiti basati su SCXML.
- Qt Virtual Keyboard — implementazione di una tastiera virtuale.
Moduli che non sono ancora stati portati e attesi nella release LTS di Qt 6.2, prevista per settembre.
- Qt Bluetooth
- Qt Multimedia
- Qt NFC
- Qt Positioning
- Qt Quick Dialogs: Cartella, Finestra di Messaggio
- Qt Remote Objects
- Qt Sensors
- Qt SerialBus
- Qt SerialPort
- Qt WebChannel
- Qt WebEngine
- Qt WebSockets
- Qt WebView
Modifiche in Qt 6.1:
- In Qt Core è stato fatto lavoro per migliorare l'usabilità e semplificare l'API. Sono stati aggiunti i metodi removeIf() e ampliato il numero di classi che supportano il metodo erase_if(). Sono stati implementati metodi disponibili in QString, ma assenti in QStringView. Sono state aggiunte funzioni di somma, sottrazione e moltiplicazione protette da overflow. È stato migliorato il supporto per i valori a virgola mobile a 16 bit. L'API per il binding delle proprietà (property binding), apparso in Qt 6.0, è stata aggiornata. Sono state aggiunte nuove classi per semplificare l'integrazione con Java, QJniEnvironment e QJniObject, generalmente richieste sulla piattaforma Android.
- In Qt Gui è stato migliorato il supporto per le API grafiche Vulkan 1.1 e 1.2. È stata aggiunta una nuova classe QUrlResourceProvider, utilizzata in QLabel, che consente di evitare la necessità di una ri-implementazione di loadResource() e la creazione di sottoclassi di QTextDocument. È stata implementata la possibilità di applicare determinate funzioni di correzione dei componenti degli spazi colore definite dall'utente nella classe QColorSpace.
- In Qt Network è stata proposta la classe QNetworkInformation, che consente di determinare lo stato della rete nel sistema. Nel gestore HTTP Cookie è stato aggiunto il supporto per la modalità SameSite.
- In Qt Qml sono state implementate le opzioni QJSPrimitiveValue e QJSManagedValue per una gestione più fine dell'esecuzione di JavaScript.
- In Qt Quick 3D è stato aggiunto il supporto per il morphing delle animazioni target e implementato il supporto sperimentale per il rendering istanziato, che consente di disegnare numerose copie di oggetti simili in un unico passaggio, posizionati nelle parti periferiche della scena. Questo metodo accelera significativamente il rendering con un grande numero di oggetti simili nella scena. Basato su questo metodo, è stato implementato il supporto per il rendering di particelle tridimensionali.
Fonte: opennet.ru
