Qt Company har udgivet en version af Qt 6.1-rammeværket, som fortsætter arbejdet med stabilisering og funktionalitetstilvækst af Qt 6-grenen. I Qt 6.1 understøttes platformene Windows 10, macOS 10.14+, Linux (Ubuntu 20.04+, CentOS 8.1+, OpenSuSE 15.1+), iOS 13+ og Android (API 23+). Kildekoderne til Qt-komponenterne leveres under LGPLv3- og GPLv2-licenser.
De vigtigste forbedringer i Qt 6.1 vedrører primært inkorporeringen af moduler, der var tilgængelige i Qt 5.15, men som ikke var klar til at blive inkluderet i den første udgave af Qt 6. Især er følgende moduler blevet inkluderet:
- Active Qt — understøttelse af COM- og ActiveX-kontroller på Windows-platformen.
- Qt Charts — oprettelse af diagrammer.
- Qt Data Visualization — visualisering af statiske og dynamiske data.
- Qt Device Utilities — en del af Qt for Device Creation-pakken.
- Qt Graphical Effect — et lag, der letter porteringen af applikationer til Qt 6.
- Qt Lottie — gengiver grafik og animationer eksporteret i JSON-format ved hjælp af Bodymovin-pluginet til Adobe After Effects-pakken. Indeholder en indbygget mikromotor til at udføre animationer, beskæringer, lagbehandling og andre effekter.
- Qt State Machine — et framework til oprettelse af begivenhedsorienterede konstruktioner og implementering af en endelig automat baseret på SCXML.
- Qt Virtual Keyboard — implementering af et virtuelt tastatur.
Moduler, der endnu ikke er overført, og som forventes i LTS-udgaven af Qt 6.2, planlagt til september.
- Qt Bluetooth
- Qt Multimedia
- Qt NFC
- Qt Positioning
- Qt Quick Dialogs: Folder, Message Box
- Qt Remote Objects
- Qt Sensors
- Qt SerialBus
- Qt SerialPort
- Qt WebChannel
- Qt WebEngine
- Qt WebSockets
- Qt WebView
Ændringer i Qt 6.1:
- I Qt Core er der arbejdet på at forbedre brugervenligheden og forenkle API'et. Metoderne removeIf() er blevet tilføjet, og antallet af klasser, der understøtter metoden erase_if(), er blevet udvidet. Implementerede metoder, der er tilgængelige i QString, men ikke i QStringView. Tilføjet overbelastede funktioner til addition, subtraktion og multiplikation. Forbedret understøttelse af 16-bit flydende værdier. API'et til ejendom binding, der blev introduceret i Qt 6.0, er blevet opdateret. Nye klasser til at forenkle integrationen med Java, QJniEnvironment og QJniObject, som typisk er efterspurgt på Android-platformen, er blevet tilføjet.
- I Qt Gui er der forbedret støtte til den grafiske API Vulkan 1.1 og 1.2. Der er tilføjet en ny klasse QUrlResourceProvider, som bruges i QLabel og gør det muligt at undgå at implementere loadResource() igen og skabe underklasser af QTextDocument. Der er implementeret mulighed for at anvende brugerdefinerede funktioner til korrektion af komponenter i farverum i klassen QColorSpace.
- I Qt Network er klassen QNetworkInformation introduceret, som gør det muligt at bestemme netværksstatus i systemet. HTTP Cookie-behandleren har fået tilføjet support for SameSite-tilstand.
- I Qt Qml er mulighederne QJSPrimitiveValue og QJSManagedValue implementeret for mere detaljeret kontrol over udførelsen af JavaScript.
- I Qt Quick 3D er der tilføjet støtte til morfing af målanimation og implementeret eksperimentel understøttelse af instanced rendering, der gør det muligt at tegne mange kopier af ensartede objekter placeret i de perifere dele af scenen i ét gennemløb. Denne metode accelererer rendering betydeligt, når der er mange lignende objekter i scenen. Baseret på denne metode er der implementeret understøttelse til rendering af tredimensionelle partikler.
Kilde: opennet.ru
