Qt 6.10 modernizuje razvoj na više platformi sa poboljšanom pristupačnošću, integrisanim podacima i vektorskom animacijom.

  • Poboljšana pristupačnost i visok kontrast ugrađeni u Qt stilove
  • Brži korisnički interfejs: FlexboxLayout, SVG/Lottie animacije i SearchField
  • Jednostavniji podaci: QRangeModel, Synchronizer, TreeModel i sortiranje/filteri u QML-u
  • Ažurirane platforme: Android 15/16, macOS/iOS 26, WebView2 i PipeWire

Qt 6.10

Qt 6.10 stiže Puno poboljšanja za programere aplikacija i kreatore uređaja, s novim funkcijama koje se kreću od pristupačnosti i dizajna interfejsa do zvuka, grafike i podrške za platformu. To je verzija koja olakšava svakodnevni život bez obzira da li radite u QML-u i Qt Quick-u ili nastavljate sa C++ i Qt Widgets.

Pored naslova, postoje promjene koje direktno utiču na produktivnost: sistem rasporeda sličan flexboxu u Qt Quick-u, proširena vektorska animacija (SVG i Lottie), nove kontrole poput SearchFielda i mnogo čistiji načini povezivanja C++ podataka sa QML interfejsima. Također postoje napredak u Androidu, macOS/iOS-u, Windowsu i Linuxu., i dobar broj malih odličnih detalja u modulima kao što su Qt Graphs, Qt Quick 3D, Qt Multimedia ili Qt Core.

Pristupačnost i visoki kontrast u Qt 6.10

Pristupačnost značajno napreduje: Ugrađeni stilovi Qt-a sada poštuju Automatski prilagođava postavke visokog kontrasta sistema na desktop računaru i mobilnom uređaju. Ovo pomaže u održavanju vizualne konzistentnosti s ostatkom okruženja i usklađivanju s propisima bez dodatnog rada.

Način na koji su Qt widgeti i Qt Quick kontrole izloženi pomoćnim tehnologijama (npr. čitačima ekrana) je revidiran, uz... bolja integracija s osnovnim platformamaNapredak je posebno značajan u WebAssembly-ju, a mnoga od ovih poboljšanja će također doći do LTS grana u predstojećim ažuriranjima održavanja.

Qt 6.10 brže gradi interfejse

Qt Quick nastavlja da se razvija kako bi iterirao brže, smanjio prilagođeni kod i postigao moderne, responzivne korisničke interfejse. Debituje verzija 6.10. novi izgled flexboxa, podrška za vektorsku animaciju je proširena i pojavljuje se kontrola SearchField spremna za korištenje.

Flexbox raspored za Qt Quick

FlexboxLayout je uključen kao "tehnički pregled", sistem inspirisan CSS-ovim Flexible Box Layout-om koji se integriše sa mehanizmom rasporeda Qt Quick-a (uključujući pridružena svojstva za konfigurirajte ponašanje svake stavke). Dizajniran je za kreiranje responzivnih interfejsa za nekoliko minuta i održavanje solidnih performansi tokom izvođenja.

Qt je već nudio nekoliko rasporeda za adaptivne interfejse, ali sa FlexboxLayout-om je lakše prilagoditi se različitim veličinama/aspektima ekrana i ublažiti varijacije dužine teksta zbog internacionalizacije ili tipografskih preferencija.

Animirana vektorska grafika: SVG i Lottie

Nakon nekoliko verzija koje su pojačale podršku za vektorsku grafiku (Qt Quick Scene Graph, Qt Quick Shapes i poboljšanja SVG-a), u verziji 6.10 je dodana podrška za vektorske animacije i u SVG i u Lottie slikama. Qt Lottie modul proširuje raspon podržanih modernih datoteka, a zahvaljujući VectorImage-u, moguće je prikazati Lottie kao skalabilan, hardverski ubrzan vektor.

Osim toga, ugrađen je alat lottietoqml za pretvaranje Lottie datoteka u Qt Brze scene direktno u QML-u, dopunjujući tok koji je svgtoqml započeo.

Nova Qt brza kontrola: SearchField

SearchField je specijalizirano polje za unos podataka za pretrage, s ugrađenim stilovima i izvorni izgled na glavnim platformamaPrikazuje relevantne prijedloge u filtriranom padajućem izborniku dok tipkate, a pokreće ga modeli koje možete navesti putem standardnih QML putanja podataka.

Ovaj dio se posebno dobro uklapa u poboljšanja u razmjeni podataka između C++ koda i Qt Quick korisničkih interfejsa: nova funkcija u verziji 6.10 omogućava lakše povezivanje C++ modela s kontrolama poput SearchFielda bez pribjegavanja opširnim predlošcima.

Integrišite svoje podatke u QML sa manje problema zahvaljujući Qt 6.10

Qt nudi više mehanizama za povezivanje C++ logike sa QML prezentacijom (singletoni, QAbstractItemModel, svojstva konteksta, QObject objekti, itd.), i alate kao što su QtCreator 8Ipak, izgradnja potpune dvosmjerne integracije mogla bi zahtijevati previše ponavljajućeg kodaU Qt 6.10 ta barijera je snižena novim API-jima i tipovima dizajniranim za stvarni rad.

QRangeModel

Stiže QRangeModel, lagana implementacija QAbstractItemModel za prikazivanje C++ raspona kao std::vector, std::array ili bilo koji iterabilni kontejner direktno na prikaze u Widgetima i QML/Qt Quick prikazima. Radi s jednostavnim vrijednostima (npr. int) i složenijim tipovima (Q_GADGET ili std::tuple), generirajući odgovarajuće uloge bez ručnog pisanja modela.

Ako koristite gadgete, QRangeModel izlaže svako svojstvo kao imenovanu ulogu, tako da QML delegati mogu link sa potrebnim svojstvima na tipizirani način. U praksi, eliminirate potrebu za ručnim upravljanjem ulogama ili zloupotrebom svojstava konteksta, a sve se uklapa zajedno s kompajliranim QML-om.

delegateModelAccess: direktno pisanje od strane delegata

Do sada, za pisanje u model iz delegata obično vam je bio potreban objekt modela ili ste koristili svojstva konteksta. Sa verzijom 6.10, jednostavno aktivirajte delegateModelAccess u ReadWrite modu tako da delegati mogu prirodno pisati kroz potrebna svojstva.

Nova mogućnost radi na svim Qt prikazima: Instantiator, Repeater, ListView, GridView, TableView, TreeView, MapItemView i Repeater3D. Sastavljanje korisničkih interfejsa koji se mogu uređivati Ovo ga čini predvidljivijim i konzistentnijim s dobrim QML praksama.

Sinhronizator: sinhronizacija više svojstava

Godinama tražen, element Synchronizer debituje kako bi se osiguralo da nekoliko nekretnina dijeli istu vrijednost kad god je to moguće, bez prekidanja bilo kakvih veza u bilo kojem od njih. Povezivanja su se ranije kombinovala sa rukovaocem signalima, a to je najbolje funkcionisalo za kontrole implementirane u C++.

Sa Synchronizerom sve se svodi na jedan element koji podržava n svojstava i C++ i QML ciljeve. Dostupan je u modulu Qt.labs.synchronizer i dolazi kao tehnički pregled.

Model drveta u QML-u

Izlaganje podataka stabla Qt Quick-u je ranije uključivalo implementaciju QAbstractItemModel-a. QRangeModel ovo pojednostavljuje u odnosu na C++, ali ponekad želite deklarisati stablo direktno u QML-u za prototipove ili male skupove podataka. Tu dolazi do izražaja QML tip TreeModel.

Pomoću TreeModel-a definirate čvorove pomoću JSON-stila niza i sintakse rječnika, dodjeljujete parove ključ-vrijednost svakoj stavci i koristite ih u prikazima poput TreeView-a bez pisanja složene infrastrukture. Omogućava vam iteraciju korisničkog interfejsa velikom brzinom prije prenošenja strukture u C++ ako je potrebno.

SortFilterProxyModel u QML-u

Na C++ strani, godinama koristimo QSortFilterProxyModel. Qt 6.10 donosi njegov deklarativni pandan u QML za... sortiranje i filtriranje podataka s API-jem prilagođenim povezivanju. Uključuje sortere zasnovane na ulogama (kao što je RoleSorter) i reaktivne filtere funkcija (koje možete poništiti) kako bi liste i tabele bile ažurne.

Ideja je da možete direktno sastavljati cjevovode za sortiranje i filtriranje u QML-u, pomoću koncizan i ekspresivan kod, bez žrtvovanja performansi ili jasnoće.

Održavajte svoj proizvod modernim uz Qt 6.10

Sistemi se razvijaju, a korisnici očekuju da njihove aplikacije rade na najnovijim uređajima i verzijama. U verziji 6.10 postoje Uzbudljiva poboljšanja platforme koji olakšavaju ovaj kontinuitet, kao što pokazuju projekti izvedeni iz Qt-a, kao što su LXQt 2.0.

Android: Trenutna podrška i novi alati

Qt 6.10 najavljuje zvaničnu podršku za Android 15 i 16, sa izmjenama sistema izgradnje i podrškom za stranice od 16KB. Ovo vam omogućava da ciljni trenutni hardver bez ikakvih iznenađenja, održavajući stabilnost i performanse.

Debituje Qt Jenny 1.0, generator koda koji generiše JNI poveznicu iz anotiranih Java klasa. Sastoji se od kompajlera i procesora za anotacije, generirajući Qt C++ API-je zasnovane na QJniObject-u za pristup izvornim servisima kao što su BatteryManager, PowerManager ili AudioManager. čak pojednostavljuje obavještenja, koji su često složeni putem JNI-a. Dostupan je na Maven Centralu i dolazi s primjerima u Qt Creatoru i online dokumentaciji.

Upravljanje uvodnim ekranom je također poboljšano od Androida 12, izbjegavajući dvostruki ekrani dobrodošlicePreporučeni pristup je korištenje namjenske SplashActivity klase, postavljanje tema s prozirnošću i pokretanje Qt Activity klase kada je Android spreman, čime se postiže besprijekoran prijelaz.

macOS i iOS 26

Prvo manje izdanje od izlaska macOS-a 26 "Tahoe". Novi dizajn Liquid Glass-a i promjene u arhitekturi renderiranja predstavljale su izazove koje je Qt riješio. nude punu podrškuMnoga poboljšanja će biti vraćena u LTS grane (6.8 i 6.5) u narednim zakrpama.

Windows: Qt WebView sa WebView2

Qt WebView uključuje implementaciju zasnovanu na WebView2 za korištenje Microsoft Edgea kao mehanizma. Na ovaj način možete ugradi web sadržaj sa izvornim preglednikom sistema i implementacija na Windowsu bez prevlačenja Qt WebEngine-a, smanjujući time zauzetost prostora.

Linux i multimedija

Qt Multimedia dodaje izvorni backend za PipeWire, sa poboljšanom latencijom i kontrolom za obradu sadržaja i hardver (npr. aplikacije poput Mixxx 2.5), pored tanja podrška u kontejnerskim okruženjimaKompenzacija visine tona zvuka dodaje se kako bi se održao kvalitet prilikom ubrzavanja ili usporavanja pjesama.

Ugrađeni hardver

Na uređajima, Boot to Qt usvaja Yocto 5.2 "Walnascar" i pojavljuje se adaptacije za Ezurio dušikove pločeCilj: ubrzati vrijeme izlaska na tržište modernog hardvera, s ažuriranim paketima.

Druga značajna poboljšanja u Qt 6.10

Qt Quick 3D sada omogućava Pecite svjetlosne mape s lakoćom za povećanje kvalitete uz visoke performanse i pokretanje efekata čestica u obrnutom smjeru, korisno za simuliranje utjecaja kiše ili snijega na vaše modele.

Qt Graphs dodaje novu ispunjenu površinu, bolju podršku za više osa, prilagodljivi 2D z-redoslijed i opciju za renderiraj dio 3D grafike slika za ispis. U katalog je također dodana nova grafika ispunjene površine.

U Qt Widgetima, kreirajte prilagođeni delegati Jednostavnije je i ima detaljniju kontrolu prevlačenja i ispuštanja u prikazima stavki. Rasporedi vam omogućavaju da pojedinačno konfigurirate ograničenja veličine.

Virtuelna tastatura sada uključuje Latvijska distribucija, proširujući jezičku pokrivenost. A u Qt Core-u, API-ji su poboljšani za rad s lokalizacijama, XML dokumentima i stringovima za nastavak.

U Qt GUI-ju, QRhi backend dodaje nabrajanje 3D adaptera pri korištenju Direct3D 11/12 ili Vulkan-a, što olakšava odabir grafičkih kartica na mašinama s više grafičkih kartica.

Uvedeni su poboljšanja performansi u QGrpcHttp2Channel, što koristi aplikacijama koje koriste gRPC preko HTTP/2 u zahtjevnim scenarijima.

Više o Qt 6.10

Wayland prima upravljanje sesijama, ključna komponenta za moderne integracije s desktopom, a za komponente kao što su kompozitori (npr. KWin) dodana su i korisna grafička obavještenja o resetiranju.

Qt WebEngine uključuje podršku za Chromium ekstenzije, što je dugogodišnji zahtjev korisnika preglednika zasnovanih na QtWebEngine-u. Ovo otvara vrata projektima poput Falkona da koriste isti ekosistem ekstenzija koji već koristite u Chromiumu.

Pored direktne podrške za Lottie u VectorImageu, alat lottietoqml pojednostavljuje Unesite animacije u QML svijet, proširujući svoj kreativni arsenal bez žrtvovanja performansi.

Qt 6.10 je važan korak ka razvoju pristupačnijih i modernijih interfejsa, integraciji C++ podataka u QML sa manje trenja i besprijekornom implementaciji na najnovijim platformama - sve to uz dodavanje praktičnih multimedijalnih, grafičkih i osnovnih funkcija koje se odražavaju i na performansama i na kvaliteti konačnog proizvoda. Ako imate Qt na svom steku, ovo ažuriranje zaslužuje mjesto na vašem planu.

qt-6
Vezani članak:
Qt 6.6 je već objavljen i ovo su njegove vijesti