Nakon nekoliko mjeseci razvoja i nekoliko test verzija, Kompanija Qt pokrenula je stabilnu podružnicu Qt 6, što uključuje značajne arhitektonske promjene.
Nova verzija tvrdi da je kompatibilna s platformama Windows 10, macOS 10.14+, Linux (Ubuntu 20.04+, CentOS 8.1+, OpenSuSE 15.1+), iOS 13+ i Android (API 23+).
Glavne novine QT 6
Od glavnih novina koji su spomenuti i u kojima su radili, jedan od njih je apstrahirani grafički API koji ne ovisi o 3D API-ju operativni sistem. Ključna komponenta novog Qt stoga grafike je mehanizam za prikazivanje scena koji koristi sloj RHI (Rendering Hardware Interface). pružiti Qt Quick aplikacije ne samo sa OpenGL-om, ali i na Vulkan, Metal i Direct 3D API-je.
To je razrađeno Qt Quick 3D modul s API-jem za stvaranje korisničkih sučelja zasnovan na Qt Quick, kombinirajući 2D i 3D grafičke elemente. Qt Quick 3D vam omogućuje upotrebu QML-a za definiranje elemenata 3D sučelja bez upotrebe UIP formata. U Qt Quick 3D za 2D i 3D možete koristiti vrijeme izvođenja (Qt Quick), izgled scene i okvir za animaciju, a Qt Design Studio koristiti za razvoj vizuelnog sučelja.
Modul rješava probleme poput velikih troškova integriranja QML-a sa sadržajem iz Qt 3D ili 3D Studija, te pruža mogućnost sinhronizacije animacija na nivou okvira i transformacija između 2D i 3D.
Još jedna novost je restrukturiranje baze koda izvedeno je rastavljanjem na manje dijelove i smanjenje veličine osnovnog proizvoda. Alati za programere i prilagođene komponente sada su dostupni kao dodaci putem Qt Marketplace.
S druge strane, to možemo pronaći ugrađeni su mehanizam za postavljanje i obloge objedinjeni za postizanje izgleda i izgleda matičnih Qt dodataka i Qt brzih aplikacija sa različitih mobilnih i desktop platformi.
Qt Quick 6 dodaje podršku za izvorne macOS i Windows stilove (Podrška za matične stilove Material i Fusion za Android i Linux implementirana je u Qt5). Implementacija izvornog stila za iOS očekuje se u sljedećem značajnom izdanju Qt-a.
Funkcionalnost podrške platforme koju su prethodno pružali moduli QtX11Extras, QtWinExtras i QtMacExtras premještena je u API-je specifične za platformu dostupne direktno iz Qt-a.
Priručnik CMake se koristi kao sistem gradnje umjesto QMake. Podrška za izgradnju aplikacija pomoću QMake-a se održava, ali Qt je sada izgrađen pomoću CMake-a.
Takođe, prebačen tokom razvoja na standard C ++ 17 (ranije je korišten C ++ 98 i sa Qt 5.7 - C ++ 11) i dodata je mogućnost korištenja u C ++ kodu nekih funkcija ponuđenih za QML i Qt Quick. To uključuje novi sistem svojstava za QObject i slične klase.
Integriran je mehanizam za rad s vezama iz QML-a u Qt kernelu, omogućujući vam da smanjite opterećenje i potrošnju memorije za veze i učinite ih dostupnima svim dijelovima Qt-a, a ne samo Qt Quick.
Of the ostale istaknute promjene:
- Objedinjavanje struktura podataka, dupliciranih u QObject i QML (smanjit će potrošnju memorije i ubrzati pokretanje).
- Izbjegavajte generiranje struktura podataka u vrijeme izvođenja u korist generiranja u vrijeme kompajliranja.
- Sakrijte interne komponente pomoću privatnih svojstava i metoda.
Poboljšana integracija sa razvojnim alatima za refaktoriranje vremena kompajliranja i dijagnostiku grešaka. - Dodati su alati za rukovanje grafičkim resursima tokom kompajliranja, kao što su pretvaranje PNG slika u komprimirane teksture ili pretvaranje sjenčica i mreža u binarne datoteke optimizirane za određeni hardver.
- Proširena podrška za dodatne jezike kao što su Python i WebAssembly.
- Rukovanje nizovima i rukovanje Unicode-om značajno su poboljšani.
- Klase QList i QVector su spojene, rezultirajuća klasa sažetka koristi model kontejnera QVector nalik na niz.
Na kraju, očekuje se da će dostići paritet sa Qt 5 kao podrška sistemima u stvarnom vremenu u verziji Qt 6.2.
Sljedeće značajno izdanje Qt 6.1 očekuje se u aprilu, a Qt 6.2 LTS u septembru 2021. godine.