Frigivelse af Qt 6.7-rammeværket og Qt Creator 13-udviklingsmiljøet

Qt Company har udgivet en udgivelse af Qt 6.7-rammeværket, hvor arbejdet fortsætter med at stabilisere og øge funktionaliteten af ​​Qt 6-grenen Qt 6.7 giver support til platformene 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 og QNX. Kildekoden til Qt-komponenter leveres under LGPLv3- og GPLv2-licenserne.

Større ændringer i Qt 6.7:

  • Forbedret understøttelse af brug af kode, der bruger elementer fra C++20-standarden. Tilføjet Qt::{strong,weak,partial}_ordering-klasser med implementering af std::*_ordering-typer, der er kompatible med C++17-specifikationen, samt makroer, der udvides til tre-vejs sammenligningsoperatoren "", når de kompileres af compilere der understøtter C++ 20 (hvis compileren kun understøtter C++17, falder makroer tilbage til at bruge almindelige operatorer).

    Det er muligt at bruge klasseskabelonen std::span til at repræsentere en sammenhængende sekvens af objekter, som erstattes af QSpan-klassen for systemer med C++17. Arbejdet fortsatte med at implementere support til std::chrono-biblioteket i forskellige Qt API'er. For eksempel er timeouts i Qt Network API nu beskrevet ved hjælp af std::chrono-typer og er angivet i form af bogstaver som "5s" for at angive 5 sekunder.

  • Udviklingen af ​​det eksperimentelle Qt Graphs-modul, designet til at bygge forskellige typer grafer og visualisere store samlinger af hurtigt skiftende data, fortsatte. Modulet udvikles som en universel erstatning for det gamle Qt DataVisualization-modul, baseret på OpenGL, og Qt Charts-modulet. Det nye modul bruger Qt Quick 3D og RHI (Rendering Hardware Interface) renderingsmotoren, som understøtter forskellige 3D API'er (OpenGL, Vulkan, Metal og Direct 3D). Ud over 3D-visualisering tilføjer den nye version understøttelse af todimensionelle cirkel- og linjegrafer samt scatterplots. Integration med animationsværktøjer og effekter tilgængelige i Qt Quick leveres. Tilføjet støtte til temaer. Arkitekturen er blevet moderniseret for at reducere antallet af hukommelsesallokeringsoperationer.
    Frigivelse af Qt 6.7-rammeværket og Qt Creator 13-udviklingsmiljøet
  • Nye klasser QHttpHeaders, QNetworkRequestFactory, QRestAccessManager og QRestReply er blevet tilføjet til udvikling af klientapplikationer, der bruger HTTP-baserede API'er og REST (REpresentational State Transfer) arkitektur.
  • Funktionerne i Qt GRPC-modulet er blevet udvidet, hvilket giver adgang til gRPC-tjenester. Qt gRPC har tilføjet nye klasser til klient-side, server-side og tovejs streaming-opkald, der gør det muligt at udveksle beskeder automatisk, når værdier ændres. En Interceptor API er blevet foreslået til at vedhæfte callback-handlere til udvalgte gRPC-meddelelser, som for eksempel kan bruges til at organisere logning eller caching.
  • Qt Protobuf-modulet, designet til at serialisere Qt-klasser ved hjælp af Protocol Buffer-protokollen, har tilføjet muligheden for at serialisere til eller fra JSON-format.
  • Qt SVG vektorgrafikmodulet har tilføjet understøttelse af SVG 1.1 og 2.0 elementer, som ofte bruges i SVG billeder i praksis ( , , , Og ), som tillader de fleste SVG-filer at blive vist. For dem, der har brug for fuld support til SVG 2.0, foreslår vi at bruge Qt WebEngine-modulet. Tilføjet svgtoqml-værktøj til at konvertere SVG til QML til import af vektorgrafik direkte til Qt Quick-scenegrafen. Muligheden for at bruge Qt Quick Shapes-modulet til højkvalitets tegning af kurver ved hjælp af en fragment shader er blevet stabiliseret.
  • Tilføjet understøttelse af variable skrifttyper, hvor tykkelsen, bredden og andre stilistiske egenskaber af glyfen kan ændres vilkårligt. Tilføjet understøttelse af ikonbiblioteker. Når du bruger QIcon::fromTheme-kaldet, er det muligt at matche ikonnavnet med et symbol i ikonbiblioteket.
  • Det er muligt at indlejre vinduer, der er native til den aktuelle platform i Qt Quick-scenen, hvilket giver dig mulighed for at bruge interface-elementer leveret af platformen i en grænseflade baseret på Qt Quick, for eksempel kan du indlejre AppKit MapView eller Windows Media Player.
    Frigivelse af Qt 6.7-rammeværket og Qt Creator 13-udviklingsmiljøet
  • Tilføjet understøttelse for tilføjelse af gengivelseskode til applikationer baseret på Qt Quick eller Qt Widgets ved hjælp af enhver grafik API, der understøttes i Qt (Vulkan, OpenGL, Direct3D, Metal). Tilføjelse sker ved hjælp af klasserne QRhiQuickItem og QRhiWidget.
  • Fuld support ydes til platformene macOS 14, iOS 17, Windows 11 23H2, Android 14, RHEL 9.2, openSUSE 15.5, SUSE Linux Enterprise Server 15. Assemblies til Windows er blevet tilføjet, kompileret ved hjælp af MinGW-værktøjssættet baseret på LLVM. Tilføjede preview-builds til ARM-arkitekturen (til Windows og Linux), til VxWorks 7-platformen og til QNX 7.1.
  • Boot2Qt-stakken er blevet opdateret, som kan bruges til at skabe bootbare mobilsystemer med et miljø baseret på Qt og QML. Systemmiljøet i Boot2Qt er blevet opdateret til Yocto 4.3 platformen.
  • Nye prøveapplikationer er blevet tilføjet. Eksempel på Lightning Viewer, der bruger Qt Location og Qt Quick Controls til at visualisere tordenvejrsdata på et kort. Ny OSM Buildings-demo ved hjælp af Qt Quick 3D, Qt Positioning og Qt Network til at skabe et 3D-bygningskort baseret på information fra OpenStreetMap. Eksemplet med Virtual Assistant demonstrerer mulighederne ved at arbejde med 3D-animation. Eksemplet med volumetrisk gengivelse viser, hvordan man bruger 3D-teksturer i Qt Quick 3D til volumetrisk strålesporing. StocQt-eksemplet er blevet fuldstændigt omdesignet ved at bruge Qt-grafer til at vise aktiemarkedsdata.
    Frigivelse af Qt 6.7-rammeværket og Qt Creator 13-udviklingsmiljøet

Derudover kan vi bemærke udgivelsen af ​​det integrerede udviklingsmiljø Qt Creator 13.0, designet til at skabe applikationer på tværs af platforme ved hjælp af Qt-biblioteket. Det understøtter både udviklingen af ​​klassiske programmer i C++ og brugen af ​​QML-sproget, hvor JavaScript bruges til at definere scripts, og grænsefladeelementernes struktur og parametre er specificeret af CSS-lignende blokke. Der er lavet færdige assemblies til Linux, Windows og MacOS.

I den nye version:

  • Tilføjet offline- og onlineinstallationsprogrammer til ARM-systemer med Linux.
  • Velkommen til Qt Creator-grænsefladen er blevet opdateret til at inkludere understøttelse af mørke og lyse temaer.
    Frigivelse af Qt 6.7-rammeværket og Qt Creator 13-udviklingsmiljøet
  • Forbedret grænseflade til at flytte paneler brugt i fejlfindingstilstand og oprettelse af widgets (Widget Designer). Tilføjet støtte til midlertidig sammenklapning af lodrette paneler. Det er muligt frit at flytte paneler ved deres overskrifter uden først at løsne dem.
    Frigivelse af Qt 6.7-rammeværket og Qt Creator 13-udviklingsmiljøet
  • Tilføjet support til at oprette, implementere, køre og fejlfinde applikationer til enheder, der bruger Qt Application Manager (til applikationer baseret på Qt 6 og CMake).
  • Tilføjet delvis understøttelse af iOS 17.
  • Ændrede standard build-mappen til nu at bruge "build"-undermappen i projektkoden. Du kan ændre build-mappen ved at bruge indstillingen "Preferences > Build & Run > Default Build Properties > Default build-mappe".
  • I projekttilstand er der tilføjet en "Vanished targets"-sektion, som viser kits (links til forskellige byggeværktøjer og versioner af Qt), som ikke længere er tilgængelige, og giver mulighed for at oprette en erstatning eller bruge den, når du bygger, implementerer og kører et andet eksisterende sæt.
  • Det er muligt at oprette kits til projekter i Python-sproget (for at vælge en anden version af tolken).
  • Tilføjet muligheden for at bruge LSP-servere (Language Server Protocol) til YAML, JSON og Bash.
  • Kodeeditoren giver support til at navigere fra QML-komponenter til deres tilknyttede C++-kode.
  • ClangFormat-indstillingerne er blevet omorganiseret. Der er en teksteditor med syntakskontrol til at ændre dine egne indstillinger.
    Frigivelse af Qt 6.7-rammeværket og Qt Creator 13-udviklingsmiljøet

Kilde: opennet.ru

Tilføj en kommentar