Rilascio del framework Qt 6.8

Qt Company ha pubblicato il rilascio del framework Qt 6.8, continuando il lavoro di stabilizzazione e ampliamento delle funzionalità della serie Qt 6. Qt 6.8 offre supporto per le piattaforme Windows 10+, macOS 12+, Linux (Ubuntu 22.04/24.04, openSUSE 15.5, SUSE 15 SP5, RHEL 8.8/9.2, Debian 11.6), iOS 16+, Android 9+(API 23+), webOS, WebAssembly, INTEGRITY, VxWorks, FreeRTOS e QNX. I codici sorgente dei componenti Qt vengono forniti sotto le licenze LGPLv3 e GPLv2.

Qt 6.8 ha ottenuto lo status di rilascio LTS, per il quale gli aggiornamenti saranno disponibili per cinque anni per i possessori di una licenza commerciale, due anni in più rispetto ai precedenti rilasci LTS. Per gli utenti non commerciali, il supporto durerà sei mesi (fino alla formazione di una nuova versione significativa). Il supporto per la precedente serie LTS Qt 6.5 continuerà fino a maggio 2026, mentre il supporto per la serie LTS Qt 6.2 è terminato il 30 settembre 2024. La serie Qt 5.15 sarà supportata fino a maggio 2025.

Principali novità in Qt 6.8:

  • Stabilizzato e trasferito nella categoria dei moduli completamente supportati, Qt Graphs è progettato per la creazione di diversi tipi di grafici 2D e 3D e per la visualizzazione di ampie collezioni di dati che cambiano rapidamente. Il modulo si evolve come una sostituzione universale del vecchio modulo Qt DataVisualization, basato su OpenGL, e del modulo Qt Charts. Il nuovo modulo utilizza Qt Quick 3D e il motore di rendering RHI (Rendering Hardware Interface), supportando diverse API 3D (OpenGL, Vulkan, Metal e Direct 3D).

    Rispetto alla versione precedente, Qt Graphs 3D include ottimizzazioni delle prestazioni, garantendo il supporto per la trasparenza nei grafici 3D (Bars3D), ampliando le capacità di controllo della posizione e dello stile delle etichette e dei titoli, e migliorando il rendering delle linee della griglia di navigazione. In Qt Graphs 2D è stata introdotta la possibilità di disegnare tipi personalizzati di grafici a barre (tramite componenti QML), è stato aggiunto il supporto per i grafici a barre impilati, e sono stati ampliati gli strumenti per la visualizzazione delle etichette. L'API è stata unificata per l'uso dei temi visivi nei grafici 2D e 3D. Le chiamate specifiche per i widget sono state trasferite nel modulo Qt Graphs Widgets.

  • Stabilito e passato alla categoria dei moduli completamente supportati, QtHttpServer permette di integrare nelle applicazioni funzionalità di un server HTTP che supporta HTTP/1.1, TLS/HTTPS, WebSockets, gestione degli errori, instradamento delle richieste basato su parametri nell'URL (QHttpServerRouter) e REST API. Rispetto alla versione precedente, nella classe QNetworkAccessManager è stata implementata la possibilità di inviare richieste HTTP attraverso una socket locale. È stata fornita anche la supporto per l'uso della classe QFormDataBuilder per semplificare la trasmissione di più set di dati (ad esempio, dati testuali e file allegati) in una sola richiesta HTTP (HTTP multi-part).
  • Stabilito e passato alla categoria dei moduli completamente supportati, Qt GRPC consente di accedere ai servizi utilizzando il protocollo gRPC.
  • Stabilito e passato alla categoria dei moduli completamente supportati, Qt Protobuf è progettato per la serializzazione delle classi Qt utilizzando il protocollo Protocol Buffer.
  • È stata aggiunta la supporto per le piattaforme mobili Android 14 e iOS 18.
  • È stata fornita la possibilità di sviluppare applicazioni per sistemi desktop Linux e Windows con processori ARM, oltre a visori 3D Apple Vision Pro e Meta Quest 3 XR.
  • Aggiunta il supporto per Raspberry Pi 5, NVIDIA AGX Orin e alcune schede basate su SoC NXP, Toradex e STM. È stato aggiunto il supporto per le schede RISC-V StarFive VisionFive 2.
  • Ampliate le possibilità di creare build ridotte di Qt, utilizzabili su dispositivi con risorse di memoria limitate. Disattivando funzionalità e componenti Qt non necessari, si può ottenere una riduzione della dimensione della build nello storage permanente del 77% e un abbattimento del consumo di RAM del 32%, oltre a ridurre significativamente i tempi di avvio.
  • Il modulo Qt Multimedia su piattaforma Linux ha implementato il supporto per la cattura dello schermo utilizzando la classe QScreenCapture in ambienti basati sul protocollo Wayland, sfruttando il servizio ScreenCast e il sistema di portali XDG Desktop. Sono state aggiunte le classi QVideoFrameInput, QAbstractVideoBuffer e QAudioBufferInput, attraverso le quali è possibile organizzare l'invio di dati multimediali personalizzati in una sessione di registrazione (QMediaCaptureSession), insieme alla classe QAudioBufferOutput per connettere i gestori che ricevono dati audio in fase di post-decodifica.
  • Aggiunto il modulo Qt Quick Vector Image, che consente di integrare nella scena di Qt Quick immagini vettoriali in formato SVG, utilizzabile, ad esempio, per creare elementi dell'interfaccia scalabili, indipendenti dalla risoluzione e dalla dimensione dello schermo.
    Rilascio del framework Qt 6.8
  • Aggiunto il modulo Qt Quick 3D XR per creare applicazioni per piattaforme di realtà virtuale e aumentata, utilizzando la tecnologia Qt Quick 3D. Per facilitare l'interazione con gli ambienti tridimensionali creati tramite Qt Quick 3D, è supportato l'uso di dispositivi di tracciamento del movimento delle mani e controller VR. Per la visualizzazione possono essere utilizzati occhiali Apple VisionPro o caschi 3D compatibili con lo standard OpenXR, come Meta Quest 2/3.
    Rilascio del framework Qt 6.8
  • In Qt Quick sono state aggiunte ottimizzazioni che accelerano il rendering di scene complesse. Nella classe TableView è stata introdotta la funzionalità di spostamento di colonne e righe. Nei tipi Image e BorderImage è stata implementata la gestione del caricamento asincrono delle immagini (l'immagine precedente rimane visibile mentre viene caricata la nuova).
  • Il modulo Qt Quick Effect Maker supporta ora l'animazione degli sprite, la deformazione degli elementi lungo una curva, così come l'uso di effetti di luce e di sfocatura selettiva (masked blur).
  • Nel modulo Qt Quick Shapes, durante il riempimento dei contorni, è consentito l'uso di qualsiasi provider di texture per elementi di tipo ShapePath. Sono stati aggiunti nuovi metodi nella classe QQuickRenderTarget per gestire l'elaborazione delle texture e semplificare l'integrazione di Qt Quick 3D con motori esterni, framework e API.
  • In Qt Quick Controls è stato introdotto il nuovo stile Fluent WinUI3, che consente di creare interfacce che sembrano Windows 11 su qualsiasi piattaforma. Su macOS è stata implementata la possibilità di utilizzare il menu globale fornito dalla piattaforma nelle interfacce generate tramite Quick MenuBar.
    Rilascio del framework Qt 6.8
  • In Qt Quick 3D è stato migliorato il rendering delle Ombre, grazie all'uso di mappe ombra a cascata e alla filtrazione morbida delle ombre. Nella tipologia PrincipledMaterial sono state aggiunte nuove proprietà. È ora possibile utilizzare nelle proprie superfici le stesse proprietà degli altri materiali basati sulla tipologia PrincipledMaterial.
    Rilascio del framework Qt 6.8
  • Nel modulo Qt Network Auth è stata aggiunta la classe QOAuthUriSchemeReplyHandler per creare gestori di reindirizzamento a un'altra URI scheme durante l'autenticazione tramite OAuth 2.0. Sono state introdotte funzionalità per il supporto dell'estensione OAuth PKCE (Proof Key for Code Exchange) nella classe QOAuth2AuthorizationCodeFlow.
  • Nella classe QDnsLookup è stata aggiunta la possibilità di inviare richieste utilizzando "DNS over TLS", implementando il supporto per i record DNS TLSA (TLS Certificate Association) e fornendo al cliente notifiche sull'esito della verifica dei dati da parte del server DNS.
  • In Qt Core è stata aggiunta la classe QChronoTimer con un'interfaccia per la libreria std::chrono, consentendo di aumentare la precisione delle operazioni temporali. È stata implementata la possibilità di ridimensionare QString, QByteArray e QList senza inizializzare i dati. In QHash è stato aggiunto il supporto per memorizzare in un'unica hash dati di tipo QString e QStringView. In QDirListing è stato fornito un API basato su iteratori per iterare attraverso il contenuto delle directory.
  • In Qt GUI è stata fornita la possibilità di sovrascrivere le impostazioni del tema di colori di sistema, ad esempio, per selezionare la modalità scura o chiara, nonché le impostazioni delle azioni che portano all'apertura del menu contestuale.
  • I driver SQL di PostgreSQL e MySQL/MariaDB in Qt ora gestiscono correttamente date e orari quando il cliente e il server selezionano fusi orari diversi. server La selezione di diversi fusi orari.
  • In Qt WebEngine sono stati aggiunti nuovi classi: QWebEngineFrame per lavorare a livello di singoli blocchi iframe; QWebEngineClientHints per gestire l'identificazione del browser; QWebEnginePermission per gestire i diritti di accesso legati ai siti.
  • In Qt Widgets, è stata migliorata la rendering dei widget su schermi ad alta densità di pixel (high-DPI).
  • Il generatore di documentazione QDoc è passato da C API a C++ API e ora richiede almeno Clang 17 per funzionare. Sono stati aggiunti nuovi comandi, come "\keyword" e "\nativetype".
  • Nell'ambito degli sforzi per migliorare la stabilità e le prestazioni della versione LTS, sono stati apportati oltre 500 correttivi e ottimizzazioni.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster