Qt 6.12 LTS debutta con Hot Reload per QML, CanvasPainter accelerato via GPU e supporto ufficiale a HarmonyOS

Qt 6.12 LTS debutta con Hot Reload per QML, CanvasPainter accelerato via GPU e supporto ufficiale a HarmonyOS

Qt è uno dei framework per lo sviluppo di applicazioni multi-piattaforma più diffusi e longevi del panorama software mondiale: si tratta di un insieme di librerie e strumenti che permette di scrivere, in linguaggio C++ o con il linguaggio dichiarativo QML (Qt Modeling Language), applicazioni capaci di funzionare, senza modifiche sostanziali al codice, su sistemi operativi e dispositivi anche molto diversi tra loro. Grazie a questa versatilità, Qt è alla base di prodotti molto noti: l’ambiente desktop KDE Plasma è costruito sulle sue librerie, così come un numero enorme di programmi per GNU/Linux, Windows e macOS, oltre a sistemi di navigazione veicolare, apparecchiature mediche e interfacce per dispositivi industriali.

Le origini del progetto sono piuttosto lontane: Qt nacque nel 1995 ad opera di Haavard Nord ed Eirik Chambe-Eng, fondatori dell’azienda norvegese Trolltech, e da allora ha attraversato diverse fasi aziendali, passando sotto Nokia e poi sotto Digia, fino all’attuale Qt Group, la società finlandese che oggi guida lo sviluppo insieme alla comunità del Qt Project, il modello di governance aperta adottato a partire dal 2011 e che consente a chiunque di contribuire con correzioni al codice (le cosiddette patch, ovvero piccole modifiche che risolvono problemi o aggiungono funzioni) attraverso il repository software ufficiale.

Dal punto di vista delle licenze, Qt adotta un modello a doppia licenza: è disponibile come software open source sotto GNU LGPL (Lesser General Public License) versione 3 e GPL (General Public License), adatto quindi anche a chi sviluppa software libero, e parallelamente esiste una licenza commerciale a pagamento, pensata per le aziende che necessitano di assistenza dedicata, garanzie contrattuali e funzioni aggiuntive riservate.

La disponibilità multi-piattaforma è una delle caratteristiche centrali del framework: Qt supporta Windows, macOS, GNU/Linux, Android e iOS, oltre agli ambienti incorporati (i sistemi embedded, cioè computer dedicati integrati in prodotti come cruscotti, macchinari o dispositivi medici), i microcontrollori e la piattaforma WebAssembly, il formato binario che consente di eseguire le applicazioni direttamente all’interno dei browser. Con la nuova versione viene ufficializzato anche il supporto a HarmonyOS, il sistema operativo sviluppato da Huawei.

La nuova versione stabile Qt 6.12 è stata rilasciata il 30 settembre 2026 in qualità di versione LTS (Long Term Support, supporto a lungo termine), ovvero una versione che riceverà manutenzione, correzioni di sicurezza e aggiornamenti per 5 anni: le versioni LTS escono ogni 2 anni e Qt 6.12 subentra a Qt 6.8 LTS, arrivata nel 2024. La precedente versione stabile disponibile è invece Qt 6.11, resa pubblica il 23 marzo 2026 e caratterizzata, a differenza di questa, da un ciclo di manutenzione ordinario più breve.

Novità in Qt 6.12 LTS

Qt 6.12 LTS non è un semplice aggiornamento incrementale: Qt Group la descrive come il punto d’arrivo di sforzi avviati ben 2 anni prima, in occasione della precedente versione LTS, con miglioramenti che attraversano l’intera piattaforma tecnologico: dal motore QML al disegno 2D accelerato via hardware, dai grafici alla sicurezza informatica, fino all’espansione delle piattaforme supportate.

Hot Reload nativo per QML

La novità di maggiore impatto pratico per chi sviluppa interfacce è l’integrazione del meccanismo di hot reload (ricaricamento a caldo) direttamente nel QML Engine, il motore che interpreta ed esegue il codice QML delle interfacce. In pratica, lo sviluppatore vede in tempo reale, nell’applicazione in esecuzione, l’effetto delle proprie modifiche al codice mentre le sta scrivendo, senza dover riavviare il programma e senza perdere il punto dell’interfaccia in cui si trova: un vantaggio enorme nella fase di costruzione delle schermate. La funzione è fruibile sia da Qt Creator, l’IDE (Integrated Development Environment, ambiente di sviluppo integrato) ufficiale del progetto, sia da riga di comando tramite lo strumento qmlpreview, appositamente rielaborato per sfruttare il nuovo motore.

Qt CanvasPainter esce dall’anteprima tecnologica

Qt CanvasPainter, il nuovo motore di disegno con programmazione imperativa (cioè un modello in cui il programmatore descrive passo per passo come disegnare, tratto per tratto), raggiunge una tappa fondamentale: presentato come anteprima tecnologica (Technology Preview) in Qt 6.11, la sua API (Application Programming Interface, Interfaccia di Programmazione delle Applicazioni) principale è ora dichiarata pronta per la produzione sia per gli sviluppatori C++ sia per chi usa QML. Il motore sfrutta la GPU (Graphics Processing Unit, l’unità di elaborazione grafica della scheda video) tramite la QRhi (Rendering Hardware Interface, l’astrazione hardware di Qt), e permette di impiegare anche gli shader, piccoli programmi eseguiti direttamente dalla scheda grafica, per creare effetti visivi ricchi e ad alte prestazioni.

Canvas2D: un elemento QML per disegnare con JavaScript

Accanto a CanvasPainter arriva l’elemento Canvas2D, che rimane per ora in anteprima tecnologica insieme alla classe C++ QCanvasCustomBrush. La sua API è modellata su quella della HTML Canvas, l’interfaccia di disegno nota a chi sviluppa per il web: consente di disegnare forme utilizzando il linguaggio JavaScript, mentre è CanvasPainter a occuparsi della resa grafica accelerata via GPU. Qt lo presenta come la sostituzione moderna dell’elemento Qt Quick Canvas, con un netto salto di qualità architetturale e una migrazione più agevole per chi proviene dallo sviluppo web.

Qt Graphs più flessibile e performante

Anche il modulo Qt Graphs, dedicato alla visualizzazione di dati, cresce notevolmente. Rispondendo alle richieste degli utenti, arrivano gli assi logaritmici (particolarmente utili quando i dati coprono intervalli di valori molto ampi) per i grafici 2D, più opzioni di personalizzazione per le etichette degli assi e interazioni di zoom e scorrimento integrate, che l’utente può usare direttamente senza che lo sviluppatore debba programmarle. Per gli scenari a elevate prestazioni, come la visualizzazione di grandi quantità di dati che cambiano rapidamente, è disponibile un nuovo motore di rendering basato su CanvasPainter, attivabile su richiesta in fase di configurazione e destinato a diventare quello predefinito dopo un periodo di verifica.

StyleKit per uno stile unificato tra Widgets e Qt Quick

Con Qt 6.12 fa il suo esordio, all’interno di Qt Labs (la sezione dei moduli sperimentali), il nuovo StyleKit: un modulo pensato per risolvere un problema sentito da chi realizza applicazioni ibride, cioè programmi che mescolano i tradizionali Widgets con le interfacce Qt Quick, mantenendo un aspetto grafico coerente tra le due tecnologie. StyleKit fornisce un’API di stile basata su QML che permette di definire, da un’unica fonte, geometrie e colori validi sia per i Widgets sia per Qt Quick, con supporto ai temi chiaro, scuro e ad alto contrasto. Il modulo si integra in modo naturale con i design system moderni, come quelli definiti nel diffusissimo strumento di progettazione Figma, separando nettamente la struttura dei componenti dagli attributi stilizzabili e sfruttando la propagazione delle proprietà per evitare ripetizioni di codice.

QRangeModel più ricco di funzioni

Migliora anche QRangeModel, la classe di supporto introdotta in Qt 6.10 che trasforma i normali contenitori C++ iterabili in tipi che il framework modello/vista di Qt può visualizzare facilmente. La versione 6.12 aggiunge il supporto all’ordinamento integrato, grazie al quale il modello può ordinare i propri dati da solo, senza bisogno di una classe separata; arrivano poi nuove proprietà per controllare quali azioni di trascinamento della selezione sono permesse e cosa accade ai dati esistenti durante l’operazione, una ricerca più rapida tramite il metodo match() e ulteriori possibilità di personalizzazione per le intestazioni e per il comportamento di righe e singoli elementi.

QtGrpc più efficiente sulla rete

Il modulo QtGrpc, che serve a far comunicare le applicazioni Qt con i servizi gRPC (un sistema di chiamate remote tra programmi basato su HTTP/2 e sui buffer di protocollo, ossia strutture binarie compatte per lo scambio di dati), si concentra sull’efficienza di rete. Da un lato viene introdotta la compressione dei messaggi lato client, che permette di selezionare e applicare gli algoritmi di compressione disponibili riducendo il consumo di banda; dall’altro diventa possibile limitare la dimensione massima dei messaggi in arrivo dal server, così da proteggere l’applicazione da risposte anomale o malformate di dimensioni eccessive.

HarmonyOS entra ufficialmente tra le piattaforme LTS

A partire da Qt 6.12, HarmonyOS viene supportato ufficialmente come piattaforma LTS, con le stesse garanzie di stabilità, manutenzione e assistenza già offerte sugli altri grandi sistemi. Questo significa che le applicazioni Qt esistenti possono estendersi su HarmonyOS senza dover riscrivere l’architettura del codice, riducendo i tempi di sviluppo e di arrivo sul mercato. Il sistema di Huawei è diffuso in Cina in molte categorie di dispositivi, dall’IoT (Internet of Things), l’insieme degli oggetti connessi in rete) all’automotive, fino a computer e tablet: il supporto apre l’ecosistema in entrambe le direzioni, consentendo alle applicazioni Qt cinesi di raggiungere un pubblico globale e alle imprese che entrano nel mercato cinese di contare su un percorso consolidato e coperto da garanzie LTS.

Sicurezza e conformità al Cyber Resilience Act

Sul fronte della sicurezza la versione si muove su due binari. Indipendentemente dagli obblighi di legge, Qt 6.12 LTS arriva senza vulnerabilità note al momento del rilascio, con impostazioni sicure per impostazione predefinita (secure by default), aggiornamenti di sicurezza costanti, una nuova procedura di divulgazione delle vulnerabilità (il processo con cui si segnalano in modo responsabile i difetti di sicurezza) e tempi di risposta garantiti da appositi SLA (Service Level Agreement), accordi sui livelli di servizio) per i clienti commerciali; gli elementi critici per la sicurezza sono inoltre contrassegnati nel codice sorgente e le librerie di terze parti integrate vengono mantenute aggiornate.

Il secondo binario è normativo: l’edizione commerciale di Qt 6.12 LTS è dichiarata conforme al CRA (Cyber Resilience Act), il regolamento dell’Unione europea sulla resilienza informatica che impone requisiti di sicurezza ai prodotti con componenti digitali. La versione include la dichiarazione di conformità al CRA e aiuta a soddisfare i requisiti tecnici della norma, come l’autenticazione sicura per impostazione predefinita e la SBOM (Software Bill of Materials, l’inventario completo dei componenti software che compongono un prodotto). Qt Group precisa però un punto importante: la conformità del framework non rende automaticamente conforme il prodotto costruito con esso, perché ogni software ha comunque il proprio lavoro di adeguamento da svolgere. La prima scadenza della normativa è già trascorsa l’11 settembre 2026, mentre quella definitiva è fissata per il dicembre 2027.

Altre novità

Il documento ufficiale di presentazione segnala diverse altre migliorie: arriva il nuovo stile QtQuick.Controls.Native, che fa adottare alle interfacce Qt Quick l’aspetto nativo del sistema operativo su cui girano; il modulo Qt Quick 3D Physics guadagna ulteriori tipi di giunto articolato per le simulazioni fisiche tridimensionali; il supporto ad audio e video su WebAssembly (la piattaforma che consente di eseguire le applicazioni nel browser) viene migliorato; infine, grazie alla deduplicazione dei contenuti nel compilatore di risorse rcc (Resource Compiler), le risorse compilate all’interno dei programmi occupano meno spazio, con binari più leggeri.

Download e Riferimenti

La nuova versione è distribuita principalmente tramite il Qt Online Installer, l’installer ufficiale scaricabile dalla pagina di download sul sito di Qt, accessibile sia agli utenti open source sia ai possessori di licenza commerciale, i quali possono inoltre recuperare il pacchetto software dalla propria pagina Qt Account.

Chi ha già una versione precedente installata può aggiornarla direttamente con lo strumento di manutenzione incluso nell’installer.

Per gli sviluppatori GNU/Linux che desiderano lavorare con l’IDE del progetto, Qt Creator è disponibile anche su Flathub, nel pacchetto ufficiale io.qt.QtCreator, utile per sfruttare subito il nuovo hot reload di QML; il framework Qt in sé, essendo una raccolta di librerie di sviluppo piuttosto che un’applicazione, non è invece distribuito attraverso i canali Flathub o AppImageHub.

Il codice sorgente completo della versione Qt 6.12 è consultabile e scaricabile dal repository software Git ufficiale del progetto, raggiungibile all’indirizzo code.qt.io.

Riferimenti Ufficiali

L’annuncio ufficiale della versione è contenuto nell’articolo Qt 6.12 LTS Released!, pubblicato sul blog di Qt Group il 30 settembre 2026 a firma di Volker Hilsheimer, che riassume tutti i punti principali del rilascio.

Approfondimenti dedicati alle singole novità sono disponibili nei post Hot Reload in Qt 6.12 e Canvas2D: New QML Canvas Element, mentre la discussione comunitaria su StyleKit si svolge nella dedicata discussione del forum Qt.

L’elenco completo delle modifiche è consultabile nella pagina Qt 6.12 Release del wiki ufficiale e nella documentazione di Qt 6, che include il documento sulle novità della versione.

Per chi valuta l’adozione a lungo termine, il progetto mette a disposizione la pagina informativa sul programma Qt LTS e, per le aziende soggette alla normativa europea, la pagina sulla conformità al Cyber Resilience Act.

Fonte: https://www.qt.io/
Fonte: https://it.wikipedia.org/wiki/Qt_(toolkit)
Fonte: https://www.qt.io/blog/qt-6.12-released
Fonte: https://www.qt.io/blog/hot-reload-in-qt-6.12
Fonte: https://www.qt.io/blog/canvas2d-new-qml-canvas-element-using-qt-canvas-painter
Fonte: https://forum.qt.io/topic/165049/stylekit
Fonte: https://wiki.qt.io/Qt_6.12_Release
Fonte: https://www.phoronix.com/news/Qt-6.12-LTS-Released
Fonte: https://linuxiac.com/qt-6-12-lts-released-with-qml-hot-reload-gpu-accelerated-canvaspainter/

Visited 1 times, 1 visit(s) today
Se vuoi sostenermi, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che ho nel mio sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul mio negozio online, quelle mancanti possono essere comunque richieste.

Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!

Hai dubbi o problemi? Ti aiutiamo noi!

Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.
Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.
Amazon Music
Scopri le ultime offerte per dischi ssd su Acquista su Amazon
Scopri le ultime offerte per memorie RAM DDR su Acquista su Amazon
Scopri le ultime offerte per Chromebook su Acquista su Amazon
Scopri le ultime offerte per Raspberry su Acquista su Amazon

Potrebbero interessarti anche...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.