
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.