Rilascio del framework Qt 6.7 e dell'ambiente di sviluppo Qt Creator 13

La società Qt ha pubblicato una versione del framework Qt 6.7, in cui continuano i lavori per stabilizzare e aumentare la funzionalità del ramo Qt 6. Qt 6.7 fornisce supporto per le piattaforme Windows 10+, macOS 12+, Linux (Ubuntu 22.04, openSUSE 15.5, SUSE 15 SP5, RHEL 8.8 /9.2, Debian 11.6), iOS 16+, Android 8+ (API 23+), webOS, WebAssembly, INTEGRITY, VxWorks, FreeRTOS e QNX. Il codice sorgente per i componenti Qt è fornito sotto le licenze LGPLv3 e GPLv2.

Principali cambiamenti in Qt 6.7:

  • Supporto migliorato per l'utilizzo di codice che utilizza elementi dello standard C++20. Aggiunte classi Qt::{strong,weak,partial}_ordering con implementazione di tipi std::*_ordering compatibili con la specifica C++17, nonché macro che si espandono nell'operatore di confronto a tre vie "" quando compilate dai compilatori che supportano C++ 20 (se il compilatore supporta solo C++17, le macro ricadono nell'utilizzo di operatori regolari).

    È possibile utilizzare il modello di classe std::span per rappresentare una sequenza contigua di oggetti, che viene sostituita dalla classe QSpan per i sistemi con C++17. È continuato il lavoro sull'implementazione del supporto per la libreria std::chrono in varie API Qt. Ad esempio, i timeout nell'API Qt Network sono ora descritti utilizzando i tipi std::chrono e sono specificati sotto forma di valori letterali come "5s" per indicare 5 secondi.

  • È proseguito lo sviluppo del modulo sperimentale Qt Graphs, progettato per costruire varie tipologie di grafici e visualizzare grandi raccolte di dati in rapida evoluzione. Il modulo è stato sviluppato come sostituto 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), che supporta varie API 3D (OpenGL, Vulkan, Metal e Direct 3D). Oltre alla visualizzazione 3D, la nuova versione aggiunge il supporto per i grafici a torta e a linee bidimensionali, nonché i grafici a dispersione. Viene fornita l'integrazione con strumenti ed effetti di animazione disponibili in Qt Quick. Aggiunto il supporto per i temi. L'architettura è stata modernizzata per ridurre il numero di operazioni di allocazione della memoria.
    Rilascio del framework Qt 6.7 e dell'ambiente di sviluppo Qt Creator 13
  • Sono state aggiunte nuove classi QHttpHeaders, QNetworkRequestFactory, QRestAccessManager e QRestReply per lo sviluppo di applicazioni client che utilizzano API basate su HTTP e architettura REST (REpresentational State Transfer).
  • Le funzionalità del modulo Qt GRPC sono state ampliate, consentendo l'accesso ai servizi gRPC. Qt gRPC ha aggiunto nuove classi per le chiamate in streaming lato client, lato server e bidirezionali che consentono lo scambio automatico di messaggi quando cambiano i valori. È stata proposta un'API Interceptor per allegare gestori di callback per messaggi gRPC selezionati, che possono essere utilizzati, ad esempio, per organizzare il logging o il caching.
  • Il modulo Qt Protobuf, progettato per serializzare le classi Qt utilizzando il protocollo Protocol Buffer, ha aggiunto la possibilità di serializzare da o verso il formato JSON.
  • Il modulo di grafica vettoriale Qt SVG ha aggiunto il supporto per gli elementi SVG 1.1 e 2.0, che nella pratica vengono spesso utilizzati nelle immagini SVG ( , , , E ), che consente di visualizzare la maggior parte dei file SVG. Per coloro che necessitano del supporto completo per SVG 2.0, suggeriamo di utilizzare il modulo Qt WebEngine. Aggiunta l'utilità svgtoqml per convertire SVG in QML per importare grafica vettoriale direttamente nel grafico della scena Qt Quick. È stata stabilizzata la possibilità di utilizzare il modulo Qt Quick Shapes per il disegno di curve di alta qualità utilizzando uno shader di frammenti.
  • Aggiunto supporto per caratteri variabili, in cui lo spessore, la larghezza e altre caratteristiche stilistiche del glifo possono cambiare arbitrariamente. Aggiunto il supporto per le librerie di icone. Quando si utilizza la chiamata QIcon::fromTheme, è possibile far corrispondere il nome dell'icona con un simbolo nella libreria di icone.
  • È possibile incorporare finestre native della piattaforma corrente nella scena Qt Quick, che consente di utilizzare gli elementi dell'interfaccia forniti dalla piattaforma in un'interfaccia basata su Qt Quick, ad esempio è possibile incorporare AppKit MapView o Windows Media Player.
    Rilascio del framework Qt 6.7 e dell'ambiente di sviluppo Qt Creator 13
  • Aggiunto il supporto per aggiungere codice di rendering alle applicazioni basate su Qt Quick o Qt Widget, utilizzando qualsiasi API grafica supportata in Qt (Vulkan, OpenGL, Direct3D, Metal). L'aggiunta viene eseguita utilizzando le classi QRhiQuickItem e QRhiWidget.
  • È previsto il pieno supporto per le piattaforme macOS 14, iOS 17, Windows 11 23H2, Android 14, RHEL 9.2, openSUSE 15.5, SUSE Linux Enterprise Server 15. Sono stati aggiunti assembly per Windows, compilati utilizzando il toolkit MinGW basato su LLVM. Aggiunte build di anteprima per l'architettura ARM (per Windows e Linux), per la piattaforma VxWorks 7 e per QNX 7.1.
  • È stato aggiornato lo stack Boot2Qt che può essere utilizzato per creare sistemi mobili avviabili con un ambiente basato su Qt e QML. L'ambiente di sistema in Boot2Qt è stato aggiornato alla piattaforma Yocto 4.3.
  • Sono state aggiunte nuove applicazioni di esempio. Esempio di Lightning Viewer che utilizza Qt Location e Qt Quick Controls per visualizzare i dati dei temporali su una mappa. Nuova demo di OSM Buildings che utilizza Qt Quick 3D, Qt Positioning e Qt Network per creare una mappa di edifici 3D basata sulle informazioni di OpenStreetMap. L'esempio dell'Assistente Virtuale dimostra le capacità di lavorare con l'animazione 3D. L'esempio di rendering volumetrico mostra come utilizzare le texture 3D in Qt Quick 3D per il ray tracing volumetrico. L'esempio StocQt è stato completamente riprogettato, utilizzando Qt Graphs per visualizzare i dati del mercato azionario.
    Rilascio del framework Qt 6.7 e dell'ambiente di sviluppo Qt Creator 13

Inoltre, segnaliamo la pubblicazione dell'ambiente di sviluppo integrato Qt Creator 13.0, progettato per creare applicazioni multipiattaforma utilizzando la libreria Qt. Supporta sia lo sviluppo di programmi classici in C++ sia l'uso del linguaggio QML, in cui JavaScript viene utilizzato per definire gli script e la struttura e i parametri degli elementi dell'interfaccia sono specificati da blocchi simili a CSS. Sono stati creati assiemi già pronti per Linux, Windows e MacOS.

Nella nuova versione:

  • Aggiunti programmi di installazione offline e online per i sistemi ARM con Linux.
  • L'interfaccia Benvenuto in Qt Creator è stata aggiornata per includere il supporto per i temi scuri e chiari.
    Rilascio del framework Qt 6.7 e dell'ambiente di sviluppo Qt Creator 13
  • Interfaccia migliorata per lo spostamento dei pannelli utilizzati in modalità debug e la creazione di widget (Widget Designer). Aggiunto supporto per il collasso temporaneo dei pannelli verticali. È possibile spostare liberamente i pannelli in base alla loro intestazione senza prima sganciarli.
    Rilascio del framework Qt 6.7 e dell'ambiente di sviluppo Qt Creator 13
  • Aggiunto supporto per la creazione, la distribuzione, l'esecuzione e il debug di applicazioni per dispositivi che utilizzano Qt Application Manager (per applicazioni basate su Qt 6 e CMake).
  • Aggiunto supporto parziale per iOS 17.
  • Modificata la directory di build predefinita per utilizzare la sottodirectory "build" nel codice del progetto. È possibile modificare la directory di build utilizzando l'impostazione "Preferenze > Compila ed esegui > Proprietà di build predefinite > Directory di build predefinita".
  • Nella modalità progetto, è stata aggiunta una sezione "Obiettivi scomparsi", che mostra i kit (collegamenti a diversi strumenti di creazione e versioni di Qt) che non sono più disponibili e offre la possibilità di crearne uno sostitutivo o di utilizzarlo durante la creazione, la distribuzione e eseguendo un altro kit esistente.
  • È possibile creare kit per progetti in linguaggio Python (per selezionare una versione diversa dell'interprete).
  • Aggiunta la possibilità di utilizzare server LSP (Language Server Protocol) per YAML, JSON e Bash.
  • L'editor di codice fornisce supporto per la navigazione dai componenti QML al codice C++ associato.
  • Le impostazioni di ClangFormat sono state riorganizzate. Viene fornito un editor di testo con controllo della sintassi per modificare le proprie impostazioni.
    Rilascio del framework Qt 6.7 e dell'ambiente di sviluppo Qt Creator 13

Fonte: opennet.ru

Aggiungi un commento