Tvrtka Qt Company objavila je verziju 6.6 Qt frameworka, u kojoj je nastavljena stabilizacija i proširenje funkcionalnosti grane Qt 6. U Qt 6.6 omogućena je podrška za platforme Windows 10+, macOS 11+, Linux (Ubuntu 22.04, openSUSE 15.4, SUSE 15 SP4, RHEL 8.6/9.0), iOS 14+, Android 8+ (API 23+), webOS, WebAssembly, INTEGRITY i QNX. Izvorni kodovi Qt komponenti isporučuju se pod licencama LGPLv3 i GPLv2.
Glavne promjene u Qt 6.6:
- U modulu Qt Quick implementirana je eksperimentalna podrška za prilagodljivi raspored korisničkog sučelja. Za dinamičku promjenu izgleda sučelja ovisno o veličini prozora i automatsko postavljanje elemenata uzimajući u obzir strukturu trenutnog rasporeda, predložen je razred LayoutItemProxy, a u modulu Qt Quick Layouts omogućeno je korištenje jedinstvenih veličina ćelija za rasporede s postavljanjem elemenata u mrežu, redove i stupce.

- U Qt Quick dodana je podrška za način odabira (svojstvo selectionMode) u QML tipu TableView (na primjer, moguće je kontrolirati odabir ćelija, redova, stupaca i skupova ćelija), omogućena je promjena svojstva rootIndex, a u QML tipu TreeView proširena su upravljanja formatiranjem pomičnih traka (scroll-deceleration) u QML tipu Flickable, te je implementirano automatsko skraćivanje putanja datoteka. Omogućen je pristup iz QML do API-ja za upravljanje privilegijama.
- Dodan je eksperimentalni modul Qt Graphs, usmjeren na pružanje univerzalnog modula za vizualizaciju velikih kolekcija brzo promjenjivih podataka i izradu različitih vrsta grafova. Modul se razvija kao univerzalna zamjena za stari modul Qt DataVisualization, vezan uz OpenGL, i modul Qt Charts. Modul je još uvijek u razvoju i trenutno se fokusira na reprodukciju funkcionalnosti Qt DataVisualization preko Qt Quick 3D i korištenje novog mehanizma za renderiranje (RHI, Rendering Hardware Interface), koji podržava različite 3D API-je (OpenGL, Vulkan, Metal i Direct 3D).

- U Qt Multimedia modulu dodan je razred QWindowCapture za snimanje sadržaja pojedinačnih prozora, nadopunjujući ranije uveden razred QScreenCapture, ograničen na mogućnost snimanja cijelog ekrana. QWindowCapture omogućava dobivanje popisa prozora dostupnih za snimanje i može se koristiti u aplikacijama za dijeljenje prozora. Snimanje prozora i ekrana podržano je uz korištenje FFmpeg pozadinske podrške na svim platformama, osim na sustavima koji koriste Wayland protokol.
- Razredu QMediaRecorder dodana su svojstva za upravljanje kvalitetom videa, razlučivosti i bitrate-a.
- Proširene su mogućnosti Qt GRPC i Qt Protobuf modula, omogućujući pristup gRPC uslugama i izvršavanje serializacije Qt klasa koristeći Protocol Buffer protokol. U Qt GRPC dodane su nove opcije QGrpcChannelOptions i QGrpcCallOptions za pojednostavljenje podešavanja kanala i poziva, kao i za ograničavanje maksimalnog vremena trajanja poziva ili toka. Dodana je opcija QGrpcMetadata za postavljanje metapodataka od strane klijenta i čitanje metapodataka koji su vraćeni. serverom. U Qt GRPC integrirana je podrška za QML tip za automatsku generaciju klasa klijenta QtGRPC. U Qt Protobuf dopušteno je uključivanje nekih tipova Qt Core i Qt GUI u *.proto shemu, kao i pružena mogućnost pristupa QML kontekstima putem klasa QProtobufMessage. Dodana je podrška za tipove google.protobuf.Any i oneof.
- U Qt WebEngine modulu dodan je API za pristup postavkama privatnosti i sigurnosti, koji omogućava onemogućavanje pojedinih mogućnosti preglednika. Na primjer, pomoću atributa QWebEngineUrlScheme::FetchApiAllowed i QWebEngineSettings::DisableReadingFromCanvas moguće je onemogućiti API Fetch i renderiranje elemenata Canvas za smanjenje rizika od pasivne identifikacije. Dodana je podrška za internu URL adresu "chrome://qt", pri otvaranju koje se prikazuje stranica s informacijama o verziji Chromium engine-a koji se koristi.
- U Qt Sql modulu dodan je dodatak s podrškom za Mimer SQL bazu podataka, proširene su postavke veze u drajveru za MySQL i MariaDB SGBD.
- U Qt PDF modulu pruženi su razredi za pristup poveznicama, minijaturama stranica i odabranim stranicama.
- U Qt Quick tipu Font implementiran je novi API za napredne opcije oblikovanja gifa (shaping) u OpenType fontovima. Omogućeno je korištenje modula Qt Quick Shapes za visokokvalitetno iscrtavanje linija i krivulja pomoću fragmentnog šejdera.

- Proveden je rad na dokumentaciji renderirajućeg motora RHI (Rendering Hardware Interface), kao i stabilizaciji povezanog nisko razinskog API-ja. Razina održavanja unazadne kompatibilnosti za RHI sada će odgovarati API-ju Qt Platform Abstraction, što će omogućiti direktnu upotrebu RHI-a za razvoj višekratnih nisko razinskih kodova koji rade sa svim popularnim grafičkim stakovima i grafičkim API-jima (OpenGL, Vulkan, Metal i Direct 3D).
- Modulu Qt Quick 3D dodana je podrška za proceduralno generiranje QML tekstura i geometrije temeljenih na poligonalnim mrežama.
- Modul Qt TextToSpeech sada omogućava generiranje PCM (Pulse-Code Modulation) podataka za daljnju obradu sintetiziranog govora (ranije je bila podržana samo izravna isporuka na audio uređaj). Pružene su dodatne opcije za segmentaciju teksta, dodan je API za pretraživanje potrebnih glasova i API za određivanje dostupnih funkcija motora.
- Skup modula "Qt for Python", koji pruža alate za izradu grafičkih aplikacija na Python jeziku koristeći Qt, dobio je podršku za asinkrone operacije putem asyncio. Osigurana je kompatibilnost Qt for Python s uređajima temeljeno na AArch64 arhitekturi.
- Ažuriran je Boot2Qt paket koji se može koristiti za izradu učitavajućih mobilnih sustava sa QT i QML okruženjem. Sustavno okruženje u Boot2Qt ažurirano je na platformu Yocto 4.2 (Mickledore). U tijeku su radovi na pružanju gotovih verzija Boot2Qt za NXP ploče i Renesas R-Car uređaje.
- Dodana je podrška za Android 13 platformu. Na Windows i Linux platformama poboljšana je podrška za ARM arhitekturu. Zajedno s partnerima iz Debian projekta, u službenim repozitorijima distribucije nalaze se paketi s Qt 6 za Debian 11 i Debian 12, dok u repozitoriju Qt Company postoje paketi s komercijalnim komponentama Qt 6.6 za Debian.
- Poboljšani su alati za razvoj na WebAssembly platformi, koji omogućuju stvaranje Qt aplikacija koje rade u web pregledniku i prenosive su između različitih hardverskih platformi. Aplikacije sastavljene za WebAssembly, zahvaljujući JIT-kompilaciji, izvode se s performansama bliskim onima nativnog koda, i mogu koristiti Qt Quick, Qt Quick 3D i dostupne Qt alate za vizualizaciju. U novoj verziji olakšano je debagiranje aplikacija za WebAssembly i poboljšano održavanje ove platforme zahvaljujući podršci za dinamičko povezivanje (aplikacije za WebAssembly sada mogu dolaziti s zajedničkim bibliotekama i Qt pluginovima).
Izvor: opennet.ru



