Useiden kuukausien kehityksen ja useiden kokeiluversioiden jälkeen Qt Company on käynnistänyt Qt 6: n vakaan haaran, joka sisältää merkittäviä arkkitehtonisia muutoksia.
Uusi versio väittää olevan yhteensopiva Windows 10, macOS 10.14+, Linux (Ubuntu 20.04+, CentOS 8.1+, OpenSuSE 15.1+), iOS 13+ ja Android (API 23+) -alustojen kanssa.
QT 6: n tärkeimmät uutuudet
Tärkeimmistä uutuuksista jotka mainittiin ja joissa he työskentelivät, yksi niistä on abstraktioinen graafinen sovellusliittymä, joka ei riipu 3D-sovellusliittymästä käyttöjärjestelmä. Uuden Qt-grafiikkapinon keskeinen komponentti on kohtausten renderointimoottori, joka käyttää RHI (Rendering Hardware Interface) -kerrosta. tarjota Qt Quick -sovelluksille paitsi OpenGL, mutta myös Vulkan-, Metal- ja Direct 3D -sovellusliittymissä.
Se on kehitetty Qt Quick 3D -moduuli API: lla käyttöliittymien luomiseen perustuu Qt Quickiin, jossa yhdistyvät 2D- ja 3D-graafiset elementit. Qt Quick 3D antaa sinun käyttää QML: ää 3D-käyttöliittymän elementtien määrittämiseen käyttämättä UIP-muotoa. 3D- ja 2D-Qt Quick 3D: ssä voit käyttää ajonaikaa (Qt Quick), kohtausasettelua ja animaatiokehystä ja käyttää Qt Design Studiota visuaalisen käyttöliittymän kehittämiseen.
Moduuli ratkaisee ongelmia, kuten QML: n integroinnin raskaat kustannukset Qt 3D: n tai 3D Studion sisällön kanssa, ja tarjoaa mahdollisuuden synkronoida kehystason animaatiot ja muunnokset 2D: n ja 3D: n välillä.
Toinen uutuus on koodipohjan uudelleenjärjestely suoritettiin jaottelu pienempiin osiin ja perustuotteen koon pieneneminen. Kehittäjien työkalut ja mukautetut komponentit ovat nyt saatavana lisäosina Qt Marketplacen kautta.
Toisaalta voimme löytää sen layout-moottori ja nahat ovat mukana yhtenäinen saavuttaakseen alkuperäisten Qt-widgetien ja Qt Quick -pohjaisten sovellusten ulkoasun eri mobiililaitteilta ja työpöydiltä.
Qt Quick 6 lisää tuen alkuperäisille macOS- ja Windows-tyyleille (Android- ja Linux-sovellusten alkuperäisten materiaali- ja fuusiotyyppien tuki toteutettiin Qt5: ssä). Natiivityylinen toteutus iOS: lle on odotettavissa seuraavassa merkittävässä Qt-julkaisussa.
QtX11Extras-, QtWinExtras- ja QtMacExtras-moduulien aiemmin tarjoamat alustan tukitoiminnot on siirretty alustakohtaisiin sovellusliittymiin, jotka ovat saatavissa suoraan Qt: ltä.
Toolkit CMakea käytetään rakennusjärjestelmänä QMaken sijaan. QMake-sovellusten rakentamisen tuki ylläpidetään, mutta Qt on nyt rakennettu CMake-sovelluksella.
Lisäksi, kehityksen aikana siirtynyt C ++ 17 -standardiin (aiemmin käytettiin C ++ 98: ta ja Qt 5.7 - C ++ 11) ja kyky käyttää C ++ -koodissa joitain QML: lle ja Qt Quickille tarjottuja toimintoja lisättiin. Tämä sisältää uuden ominaisuusjärjestelmän QObjectille ja vastaaville luokille.
Moottori on integroitu toimimaan QML-linkkien kanssa Qt: n ytimessä, mikä vähentää linkkien kuormitusta ja muistin kulutusta ja asettaa ne saataville Qt: n kaikille osille, ei vain Qt Quickille
Niistä muut erottuvat muutokset:
- Tietorakenteiden yhtenäistäminen, kopioitu QObject- ja QML-tiedostoihin (se vähentää muistin kulutusta ja nopeuttaa käynnistystä).
- Vältä tietorakenteiden luomista ajon aikana, ja kannattaa tuottamista kokoamisajankohtana.
- Piilota sisäiset komponentit yksityisominaisuuksien ja -menetelmien avulla.
Parempi integrointi kehitystyökalujen kanssa kääntöajan korjaamiseksi ja vikojen diagnosoimiseksi. - Työkalut on lisätty käsittelemään kääntöaikaisiin grafiikoihin liittyviä resursseja, kuten PNG-kuvien muuntaminen pakatuiksi tekstuureiksi tai varjostimien ja verkkojen muuntaminen tiettyihin laitteistoihin optimoituina binääreinä.
- Laajennettu tuki muille kielille, kuten Python ja WebAssembly.
- Merkkijonojen käsittely ja Unicode-käsittely paranivat merkittävästi.
- QList- ja QVector-luokat yhdistetään, tuloksena oleva yhteenvetoluokka käyttää matriisimaista QVector-säilömallia.
lopuksi, sen odotetaan saavuttavan pariteetti Qt 5: n kanssa järjestelmien tukemiseksi reaaliajassa Qt 6.2 -versiossa.
Seuraava merkittävä Qt 6.1: n julkaisu on odotettavissa huhtikuussa ja Qt 6.2 LTS: n syyskuussa 2021.