Compania Qt Company a publicat lansarea framework-ului Qt 6.1, continuând munca de stabilizare și extindere a funcționalității ramurii Qt 6. În Qt 6.1 este asigurată suportul pentru platformele Windows 10, macOS 10.14+, Linux (Ubuntu 20.04+, CentOS 8.1+, OpenSuSE 15.1+), iOS 13+ și Android (API 23+). Codurile sursă ale componentelor Qt sunt furnizate sub licențele LGPLv3 și GPLv2.
Îmbunătățirile cheie din Qt 6.1 se referă în principal la includerea modulelor care au fost disponibile în Qt 5.15, dar care nu au fost pregătite pentru a fi incluse în prima lansare a Qt 6. În special, au fost incluse modulele:
- Active Qt — suport pentru elemente de control COM și ActiveX pe platforma Windows.
- Qt Charts — crearea diagramelor.
- Qt Data Visualization — vizualizarea datelor statice și dinamice.
- Qt Device Utilities — parte a pachetului Qt for Device Creation.
- Qt Graphical Effect — un strat pentru simplificarea portării aplicațiilor pe Qt 6.
- Qt Lottie — redă grafica și animația exportate în format JSON folosind plugin-ul Bodymovin pentru pachetul Adobe After Effects. Include un micro-motor încorporat pentru execuția animațiilor, tăierea, procesarea straturilor și alte efecte.
- Qt State Machine — framework pentru crearea construcțiilor orientate pe evenimente și implementarea unui automat finit bazat pe SCXML.
- Qt Virtual Keyboard — implementarea unei tastaturi virtuale.
Module care nu au fost încă migrate și sunt așteptate în versiunea LTS a Qt 6.2, planificată pentru septembrie.
- 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
Schimbări în Qt 6.1:
- În Qt Core s-a lucrat la îmbunătățirea ușurinței de utilizare și simplificarea API-ului. Au fost adăugate metodele removeIf() și s-a extins numărul de clase care suportă metoda erase_if(). Au fost implementate metode disponibile în QString, dar absente în QStringView. Au fost adăugate funcții protejate împotriva depășirii pentru adunare, scădere și înmulțire. A fost îmbunătățit suportul pentru valori cu virgulă mobilă de 16 biți. A fost actualizat API-ul pentru legarea proprietăților (property binding), care a apărut în Qt 6.0. Au fost adăugate clase noi pentru simplificarea integrării cu Java, QJniEnvironment și QJniObject, necesare de obicei pe platforma Android.
- În Qt Gui, s-a îmbunătățit suportul pentru API-ul grafic Vulkan 1.1 și 1.2. A fost adăugat o nouă clasă QUrlResourceProvider, utilizată în QLabel, care permite evitarea implementării repetate a loadResource() și crearea de subclase QTextDocument. A fost implementată posibilitatea de a aplica funcții de corectare a componentelor spațiilor de culori definite de utilizator în clasa QColorSpace.
- În Qt Network a fost propusă clasa QNetworkInformation, care permite determinarea stării rețelei din sistem. În handler-ul HTTP Cookie a fost adăugat suport pentru modul SameSite.
- În Qt Qml au fost implementate opțiunile QJSPrimitiveValue și QJSManagedValue pentru un control mai detaliat asupra executării JavaScript.
- În Qt Quick 3D a fost adăugat suportul pentru morfingul animației țintă și a fost implementat suport experimental pentru redarea instanțiată (instanced rendering), care permite redarea mai multor copii de obiecte de același tip într-o singură trecere, plasate în părțile periferice ale scenei. Această metodă accelerează semnificativ redarea în prezența unui număr mare de obiecte asemănătoare în scenă. Pe baza acestei metode, a fost realizat suportul pentru redarea particulelor 3D.
Sursa: opennet.ro
