Podjetje Qt Company je objavilo izdajo ogrodja Qt 6.4, v kateri so nadaljevali z delom na stabilizaciji in širjenju funkcionalnosti različice Qt 6. V Qt 6.4 je zagotovljena podpora za platforme Windows 10+, macOS 10.15+, Linux (Ubuntu 20.04, CentOS 8.2, openSUSE 15.3, SUSE 15 SP2), iOS 14+, Android 6+ (API 23+), webOS, WebAssembly, INTEGRITY in QNX. Izvorne kode komponent Qt so na voljo pod licencami LGPLv3 in GPLv2.
Glavne spremembe v Qt 6.4:
- Popolna podpora za platformo WebAssembly, ki omogoča ustvarjanje Qt-aplikacij, ki delujejo v spletnih brskalnikih in so prenosljive med različnimi strojno-programskimi platformami. Aplikacije, zbrane za platformo WebAssembly, se zahvaljujoč JIT-kompajlaciji izvajajo z zmogljivostjo, ki je blizu tisti nativnemu kodu, in lahko uporabljajo Qt Quick, Qt Quick 3D ter razpoložljiva orodja za vizualizacijo v Qt. Ker se aplikacija, zgrajena na osnovi WebAssembly, izvaja v izoliranem okolju brskalnika, je dostop do nekaterih API-jev za delo z lokalnimi viri in storitvami operacijskega sistema omejen, vendar so dodani API-ji za integracijo z brskalnikom.
- V glavno sestavo se vrača modul Qt TextToSpeech, ki je bil vključen v Qt 5, vendar ni bil del veje Qt 6. Modul omogoča sintezo govora, kar lahko izboljša dostopnost aplikacij za osebe s posebnimi potrebami ali za izvajanje novih sredstev ozadinskega obveščanja uporabnika, na primer za prikaz obvestil v aplikacijah za avtomobilske informacijsko-zabavne sisteme. V Linuxu se pretvorba besedila v govor izvaja s pomočjo knjižnice Speech Dispatcher (libspeechd), na drugih platformah pa prek standardnega API operacijskega sistema.
- Dodani so eksperimentalni modul za izvajanje stila iOS za Qt Quick. Aplikacije, ki temeljijo na Qt Quick Controls, lahko avtomatsko uporabljajo ta modul za ustvarjanje nativnega oblikovanja vmesnika na platformi iOS, podobno kot se nativno oblikovanje uporablja v sistemih Windows, macOS in Android.


- Dodan je eksperimentalni modul QtHttpServer, ki omogoča integracijo funkcionalnosti HTTP strežnika v aplikacije, ki podpira HTTP/1.1, TLS/HTTPS, WebSockets, obravnavo napak, usklajevanje zahtevkov na podlagi parametrov v URL-ju (QHttpServerRouter) in REST API.
- Dodana je eksperimentalna komponenta Qt Quick 3D Physics koja pruža API za simulaciju fizičkih procesa, a koja se može koristiti s Qt Quick 3D za realističnu interakciju i pomeranje objekata u 3D scenama. Implementacija se oslanja na PhysX engine.
- Eksperimentalna podrška za globalno osvetljenje dodata je u Qt Quick 3D uz korišćenje mapa osvetljenosti, što omogućava realističnije imitiranje svetlosti iz različitih izvora u 3D sceni. Takođe je implementirana podrška za linearne čestice, sjajne materijale, dodatne opcije refleksije, skybox-e i prilagođene materijale i teksture.

- Proširene su mogućnosti tipova TableView i TreeView u Qt Quick, uz podršku za navigaciju putem tastature, selektovanje redova i kolona, kao i potpunije upravljanje položajem ćelija, animacijom, sakupljanjem i otvaranjem hijerarhijskih struktura.
- U Qt Quick je predložen novi tip FrameAnimation koji omogućava izvršavanje koda sinhrono sa animacijskim kadrovima. Kako bi se povećala glatkoća animacije, u Qt Quick je takođe obezbeđena automatska obrada nesynchronizacije vsync prilikom višedretvene renderizacije.

- U QQuickWidget-u, koji omogućava kreiranje interfejsa koji kombinuje elemente zasnovane na Qt Quick i Qt Widget, implementirana je puna podrška za RHI (Rendering Hardware Interface) sloj, što omogućava rad ne samo uz korišćenje OpenGL-a, već i iznad Vulkan, Metal i Direct 3D API-ja.
- U Qt Network modul je dodat klasa QSslServer koja omogućava kreiranje efikasnih mrežnih servereveza, koristeći TLS za uspostavljanje sigurnog komunikacionog kanala.
- U Qt Multimedia modul je dodat eksperimentalni backend koji koristi paket FFmpeg za obradu videa i zvuka. Tokom reprodukcije videa poboljšana je obrada kolornih prostora i HDR-a, a dodana je mogućnost umetanja titlova preko QVideoFrames. Takođe je dodata podrška za prostorni zvuk koji omogućava kreiranje scena sa trodimenzionalnom raspodelom zvuka i simulaciju virtuelnih soba sa karakteristikama refleksije zvuka u zavisnosti od položaja slušatelja, veličine prostorije i materijala zidova i poda.
- V modulu Qt Widgets je razred QFormLayout razširjen z orodji za gradnjo vmesnikov za zajem strukturiranih uporabniških vnosa. V razredu QWizard, namenjenem ustvarjanju večstopenjskih vmesnikov, so dodani API-ji za upravljanje vidnosti vrstic v obrazcih in prehajanje na katero koli stran v čarovniku.
- V QML je izboljšana podpora za tipe vrednosti, ki poenostavljajo prenos strukturiranih podatkov iz C++ v QML. Podobni tipi in seznami teh tipov se zdaj lahko uporabljajo v lastnostih brez ovijanja na bazi QObject. Razširjene so možnosti strežnika LSP za integracijo podporo jezika QML v vgrajena razvojna okolja. Vključeni so po privzetku QML Type Compiler, ki omogoča prevod QML predstavitve v C++ kodo.
- Razširjene so možnosti za delo s nizovnimi literali v kodi - razredom QStringEncoder in QStringDecoder je dodana podpora za vse kodiranja, dostopne v ICU (Mednarodne komponente za Unicode).
- V razredu QTextDocuments je dodana podpora za Markdown razpoznake.
Izvor: opennet.ru




