Rilascio del framework Qt 6.11

L'azienda Qt Company ha pubblicato il rilascio del framework Qt 6.11, proseguendo il lavoro di stabilizzazione e ampliamento delle funzionalità della serie Qt 6. In Qt 6.11 è prevista la compatibilità con le piattaforme Windows 10+, macOS 13+, Linux (Ubuntu 22.04/24.04, openSUSE 15.6/16, SUSE 15 SP6, RHEL 8.10/9.6/10, Debian 11.6/12), iOS 17+, Android 9+(API 23+), webOS, WebAssembly, INTEGRITY, VxWorks, FreeRTOS e QNX. I sorgenti dei componenti Qt sono forniti sotto le licenze LGPLv3 e GPLv2. Qt 6.11 ha ottenuto lo status di rilascio intermedio, il cui supporto pubblico durerà 6 mesi (+ altri 6 mesi per gli utenti commerciali).

Principali novità in Qt 6.11:

  • È stato aggiunto il modulo Qt Canvas Painter, che fornisce un'API per il rendering hardware accelerato di contenuti 2D, progettata tenendo conto della specifica HTML del Canvas 2D Context. Per il rendering è utilizzato il motore RHI (Rendering Hardware Interface), che supporta vari API 3D (OpenGL, Vulkan, Metal e Direct 3D), permettendo così di ottenere un significativo incremento delle prestazioni. Nei test condotti, Qt Canvas Painter ha dimostrato di essere due volte più veloce di QPainter con il backend OpenGL su un tipico portatile Lenovo ThinkPad P16 Gen 2, cinque volte più veloce su un tablet Android economico Lenovo Tab M10 HD e dieci volte più veloce su un tablet Android di fascia alta Samsung Galaxy Tab S8.
    Rilascio del framework Qt 6.11

    Oltre all'elevata prestazione, Qt Canvas Painter implementa il supporto per funzionalità avanzate come l'antialiasing personalizzabile, gradienti di contorno e ombre (QCanvasBoxGradient e QCanvasBoxShadow simili alla proprietà box-shadow di CSS), pattern di griglia (QCanvasGridPattern), pennelli shader personalizzati ed effetti di colore per modificare trasparenza, luminosità, contrasto e saturazione.

    Rilascio del framework Qt 6.11
  • La funzionalità del modulo Qt Quick 3D è simile a quella dei motori di gioco. È stata aggiunta la supporto per la tecnica di rendering SSGI (Screen Space Global Illumination) per simulare il riflesso della luce dalle superfici nella fase di post-elaborazione (un'alternativa al baking delle lightmap) e SSR (Screen Space Reflections) per un rendering realistico dei riflessi in tempo reale. L'algoritmo di smoothing degli oggetti in movimento è stato migliorato generando vettori di movimento per ciascun oggetto. Sono stati implementati percorsi di rendering personalizzabili (render-pass), utilizzabili direttamente da QML per maschere di livelli, effetti di post-elaborazione e per la selezione degli oggetti per colore (color picking). Sono state aggiunte nuove API per i livelli e i tag, che consentono di controllare i singoli passaggi di rendering, l'attivazione degli elementi in diverse fasi del rendering (render pipeline) e l'instradamento ai buffer di rendering destinati.
    Rilascio del framework Qt 6.11
  • Sono state ampliate le funzionalità del modulo Qt Graphs. È stato aggiunto il tipo CustomSeries, che consente di creare grafici personalizzati, in cui il rendering di ciascun elemento dei dati è gestito da un delegato specificato dall'utente. Nei grafici 3D è stata implementata la supporto per più istanze di assi; ad esempio, in QBar3DSeries si possono utilizzare assi separati per rowAxis, valueAxis e columnAxis, mentre in QScatter3DSeries e QSurface3DSeries si possono avere assi separati per axisX, axisY e axisZ. Sono state aggiunte nuove proprietà per sovrascrivere i colori di assi specifici, impostare gradienti sui grafici, modificare lo stile delle linee, e posizionare le etichette. È stato aggiunto un esempio di creazione di grafici 2D e 3D personalizzati — Wind Turbine Dashboard.
    Rilascio del framework Qt 6.11
  • È stato aggiunto un modulo sperimentale Qt TaskTree, che offre un approccio dichiarativo per la creazione e l'esecuzione di compiti asincroni in C++. I componenti chiave di Qt TaskTree sono: "ricette" — oggetti riutilizzabili che descrivono un flusso di lavoro asincrono; "gruppi" — definiscono politiche per i compiti figlio; "magazzino" per la condivisione dei dati tra compiti; "iteratori" per cicli e ripetizione di compiti. Qt TaskTree affronta anche il problema dell'incompatibilità tra le API, unificando varie API asincrone in una interfaccia tipo.
    Rilascio del framework Qt 6.11
  • Sono state ampliate le possibilità di lavoro con grafica vettoriale animata, formata da immagini nei formati SVG e Lottie. Stabilizzati il modulo Qt Quick VectorImage e lo strumento lottietoqml. Aggiunta la supporto per l'animazione di morphing, maschere SVG, simboli SVG e livelli maschera (matte layer, per gestire la visibilità di un altro livello).
  • Nel Qt Quick Controls è stato aggiunto il componente DoubleSpinBox. Nel DialogButtonBox è stata implementata la possibilità di controllare il trattamento dei pulsanti di default. Nell'effetto RectangularShadow è stata introdotta un'operazione indipendente sui raggi degli angoli.
  • In Qt Widgets è stata aggiunta l'opzione StretchBanner nel QWizard; nel QAbstractItemView è stato implementato il parametro keyboardSearchFlags per configurare il comportamento di ricerca durante la pressione dei tasti; nel QColumnView è stata aggiunta una proprietà per controllare la visibilità dell'anteprima.
  • È stato aggiunto il modulo Qt OpenAPI, che consente di generare codice HTTP client utilizzando l'API RESTful di Qt Networks, sulla base di specifiche OpenAPI in formato YAML.
  • Nel modulo Qt GRPC è stato aggiunto un meccanismo per gestire il flusso e il contenuto delle richieste e delle risposte.
  • Nel modulo Qt HTTP Server sono state ampliate le funzionalità di controllo dei limiti e migliorato il trattamento delle risposte nei thread di lavoro. Nella QNetworkRequest è stata introdotta la possibilità di configurare i parametri TCP Keep Alive (per impostazione predefinita, le connessioni inattive vengono terminate automaticamente dopo 2 minuti).
  • Nel QML Language Server, utilizzato per l'integrazione con l'IDE, è stata aggiunta l'informazione sul luogo di definizione del tipo QML nel codice C++ per semplificare la navigazione tra QML e C++ dall'IDE — lavorando con il codice C++, è possibile trovare oggetti QML per identificatori e muoversi facilmente nella gerarchia dei contesti QML.
  • In aggiunta a QRangeModel è stata implementata la classe QRangeModelAdapter, che fornisce un'API C++ per modificare i dati del modello, interagendo tramite il protocollo QAbstractItemModel, semplificando così il trasferimento dei dati dal codice backend a C++ in Qt Quick o Qt Widget.
  • È stato aggiunto il supporto per la piattaforma Android 16. Implementata la funzionalità di Google Play Feature Delivery per dividere l'applicazione in pacchetti (il pacchetto principale viene installato da Google Play immediatamente, mentre quelli aggiuntivi vengono scaricati secondo necessità). Per Android Automotive è stato implementato il supporto per avviare Qt senza dipendenze Android per un avvio rapido del rendering.

In aggiunta, si segnala il rilascio, avvenuto nei giorni scorsi, dell'ambiente di sviluppo integrato Qt Creator 19, progettato per la creazione di applicazioni multipiattaforma utilizzando la libreria Qt. Supporta sia lo sviluppo di programmi classici in C++ sia l'uso del linguaggio QML, dove gli scenari sono definiti tramite JavaScript e la struttura e i parametri degli elementi dell'interfaccia sono specificati tramite blocchi simili a CSS. Le build pronte sono state create per Linux, Windows e macOS.

Tra le novità spicca la modalità minimappa (Preferenze > Editor di testo > Visualizzazione > Abilita minimappa), che mostra accanto alla barra di scorrimento una miniatura di tutto il contenuto, consentendo di avere una visione d'insieme dell'intero codice. È incluso un semplice server MCP per l'integrazione con assistenti AI, che permette di aprire file e progetti, eseguire builds e fare debug. La configurazione delle build su dispositivi esterni è semplificata: è stata aggiunta un'opzione di Rilevamento automatico per identificare automaticamente la versione di Qt, il compilatore, il debugger e CMake dopo la registrazione del dispositivo. È stata implementata la supporto per l'accesso diretto ai file system dei dispositivi collegati, inclusi smartphone Android ed emulatori.

Rilascio del framework Qt 6.11


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