Vydání rámce Qt 5.15

Předložené vydání multiplatformního rámce Qt 5.15. Zdrojový kód pro komponenty Qt je poskytován pod licencemi LGPLv3 a GPLv2. V prosinci bude zveřejněna nová větev Qt 6, ve které očekávaný výrazné architektonické změny. Aby byl budoucí přechod na větev Qt 6 usnadněn, obsahuje Qt 5.15 náhled implementací některých nových funkcí a přidaná varování o brzkém ukončení podpory funkcí naplánovaných na odstranění v Qt 6.

Qt 5.15 je klasifikováno jako vydání dlouhodobé podpory (LTS). Zároveň pro aktualizace komunity na větev 5.15 bude zveřejněno pouze do vzniku další významné emise, tzn. asi šest měsíců. Rozšířený cyklus LTS, který zahrnuje generování aktualizací po dobu tří let, bude omezen na uživatele s komerční licencí (5508 499 USD ročně na vývojáře pro běžné společnosti a XNUMX USD ročně pro startupy a malé firmy). Společnost Qt také považováno možnost přejít na distribuční model Qt, ve kterém budou všechna vydání za prvních 12 měsíců distribuována pouze uživatelům komerčních licencí. Ale zatím tato myšlenka nepřekročila diskusi.

hlavní inovace v Qt 5.15:

  • Pokračovaly práce na vytvoření abstrahovaného grafického API, které nezávisí na 3D API operačního systému. Klíčovou součástí nového grafického stacku Qt je engine pro vykreslování scén, který využívá vrstvu RHI (Rendering Hardware Interface) k napájení aplikací Qt Quick nejen s OpenGL, ale také nad rozhraními Vulkan, Metal a Direct 3D API. Ve verzi 5.15 je nový grafický zásobník nabízen ve formě možnosti, která má status „Technology Preview“.
  • Plná podpora modulů zajištěna Qt Quick 3D, ze kterého byl odstraněn znak experimentálního vývoje. Qt Quick 3D poskytuje jednotné API pro vytváření uživatelských rozhraní založených na Qt Quick, které kombinují 2D a 3D grafické prvky. Nové API umožňuje používat QML k definování prvků 3D rozhraní bez použití formátu UIP. V Qt Quick 3D můžete použít jedno běhové prostředí (Qt Quick), jedno rozvržení scény a jeden animační rámec pro 2D a 3D a použít Qt Design Studio pro vývoj vizuálního rozhraní. Modul řeší problémy, jako je velká režie při integraci QML s obsahem z Qt 3D nebo 3D Studio, a poskytuje možnost synchronizovat animace a transformace na úrovni snímků mezi 2D a 3D.

    Mezi nové funkce přidané do Qt Quick 3D patří podpora efektů následného zpracování, C++ API pro manipulaci s geometrií, rotační API založené na třídě QQuaternion a podpora bodových světel. Vyhodnotit různé funkce Qt Quick 3D připravený speciální demo aplikace ukazující, jak můžete měnit typy a zdroje osvětlení, používat složité modely, manipulovat s texturami, materiály a vyhlazováním. Zároveň navržený otázka životní prostředí navrhnout uživatelské rozhraní Qt Design Studio 1.5, které poskytuje plnou podporu pro Qt Quick 3D.


  • V Qt QML byla práce koncentrovaný v přípravě na Qt 6. Byla implementována možnost používat vlastnosti s atributem 'required' v komponentách, jejichž instalace je povinná. Obslužný program qmllint vylepšil generování varování o možných problémech v kódu QML. Přidán nástroj qmlformat, který usnadňuje formátování kódu QML v souladu s pokyny pro styl kódování. Zajištěna kompatibilita QML s edicí Qt pro mikrokontroléry.
  • V Qt Quick byla do prvku Image přidána podpora barevných prostorů. Do rychlých tvarů Qt byl přidán nový prvek PathText.
    Do obslužné rutiny ukazatele byla přidána vlastnost kurzorShape, pomocí které můžete měnit tvar kurzoru myši na stolních systémech. Přidán prvek HeaderView, který usnadňuje přidávání vertikálních a horizontálních záhlaví do tabulek založených na TableView.

  • Podpora zdobení oken na straně klienta (CSD) byla výrazně vylepšena, což umožňuje aplikaci definovat vlastní dekorace oken a umístit vlastní obsah do záhlaví okna.
  • Modul stabilizovaný Qt Lottie, která poskytuje pokročilé rozhraní QML API, které umožňuje vykreslovat grafiku a animace exportované ve formátu JSON pomocí pluginu Bodymovin pro Adobe After Effects. Díky QtLottie může designér připravit animační efekty v pohodlné aplikaci a vývojář může exportované soubory přímo připojit k rozhraní aplikace na QtQuick. QtLottie obsahuje vestavěný mikro engine pro provádění animace, ořezávání, vrstvení a dalších efektů. Engine je přístupný prostřednictvím prvku LottieAnimation QML, který lze ovládat z kódu QML stejným způsobem jako jakýkoli jiný prvek QtQuick.
  • Prohlížeč Qt WebEngine byl aktualizován na základnu kódu Chromium 80 (ve větvi 5.14 byl použit Chromium 77, aktuální verze je Chromium 83).
  • Modul Qt 3D má vylepšené nástroje pro profilování a ladění.
  • Qt Multimedia přidala podporu pro vykreslování více povrchů.
  • V Qt GUI jsou nyní operace škálování a transformace obrazu v mnoha případech vícevláknové.
  • Qt Network přidal podporu pro vlastní časové limity a zkratky relací v TLS 1.3 (Session Ticket, umožňuje obnovit relaci bez uložení stavu na straně serveru).
  • Povoleno Qt Core, QRunnable a QThreadPool pro práci s funkcí std::. Přidána nová metoda QFile::moveToTrash() pro přesouvání položek do koše s přihlédnutím ke specifikům různých platforem.
  • V Qt pro Android přidal Podpora nativních dialogů pro otevírání a ukládání souborů.

Zdroj: opennet.ru

Přidat komentář