Wydanie frameworku Qt 5.15

Przesłane przez wydanie wieloplatformowego frameworka Qt 5.15. Kod źródłowy komponentów Qt jest udostępniany na licencjach LGPLv3 i GPLv2. W grudniu zostanie opublikowana nowa gałąź Qt 6, w której spodziewany istotne zmiany architektoniczne. Aby ułatwić przyszłe przejście do gałęzi Qt 6, Qt 5.15 zawiera podglądowe implementacje niektórych nowych funkcji i dodano ostrzeżenia o zbliżającym się wycofaniu funkcjonalności zaplanowanej do usunięcia w Qt 6.

Qt 5.15 jest klasyfikowany jako wydanie z długoterminowym wsparciem (LTS). Jednocześnie dla społeczności aktualizacje do gałęzi 5.15 zostanie opublikowany tylko do czasu, aż pojawi się kolejna istotna kwestia, tj. około sześciu miesięcy. Wydłużony cykl LTS, który obejmuje generowanie aktualizacji przez okres trzech lat, będzie ograniczony do użytkowników posiadających licencję komercyjną (5508 USD rocznie na programistę w przypadku zwykłych firm i 499 USD rocznie w przypadku start-upów i małych firm). Firma Qt również uważany za możliwość przejścia na model dystrybucji Qt, w którym wszystkie wydania przez pierwsze 12 miesięcy będą dystrybuowane wyłącznie do użytkowników licencji komercyjnych. Ale jak dotąd pomysł ten nie wyszedł poza dyskusję.

Głównym innowacje w Qt 5.15:

  • Kontynuowano prace nad stworzeniem API grafiki abstrakcyjnej, niezależnego od API 3D systemu operacyjnego. Kluczowym elementem nowego stosu graficznego Qt jest silnik renderujący sceny, który wykorzystuje warstwę RHI (Rendering Hardware Interface) do obsługi aplikacji Qt Quick nie tylko z OpenGL, ale także z interfejsami API Vulkan, Metal i Direct 3D. W wersji 5.15 nowy stos graficzny jest oferowany w formie opcji mającej status „Podglądu technologii”.
  • Zapewniona pełna obsługa modułów Qt Szybkie 3D, z którego usunięto znak rozwoju eksperymentalnego. Qt Quick 3D zapewnia ujednolicone API do tworzenia interfejsów użytkownika w oparciu o Qt Quick, które łączą elementy grafiki 2D i 3D. Nowe API umożliwia wykorzystanie QML do definiowania elementów interfejsu 3D bez użycia formatu UIP. W Qt Quick 3D można używać jednego środowiska wykonawczego (Qt Quick), jednego układu scen i jednego środowiska animacji dla 2D i 3D, a także używać Qt Design Studio do tworzenia interfejsu wizualnego. Moduł rozwiązuje problemy takie jak duży narzut przy integracji QML z treścią z Qt 3D lub 3D Studio oraz zapewnia możliwość synchronizacji animacji i transformacji na poziomie klatki pomiędzy 2D i 3D.

    Nowe funkcje dodane do Qt Quick 3D obejmują obsługę efektów przetwarzania końcowego, interfejs API C++ do manipulacji geometrią, interfejs API rotacji oparty na klasie QQuaternion oraz obsługę świateł punktowych. Aby ocenić różne funkcje Qt Quick 3D przygotowany specjalna aplikacja demonstracyjna pokazująca, jak można zmieniać rodzaje i źródła oświetlenia, wykorzystywać złożone modele, manipulować teksturami, materiałami i wygładzaniem krawędzi. Jednocześnie proponowane problem środowisko zaprojektować interfejs użytkownika Qt Design Studio 1.5, który zapewnia pełną obsługę Qt Quick 3D.


  • W Qt QML praca była stężony w przygotowaniu do Qt 6. Zaimplementowano możliwość wykorzystania właściwości z atrybutem „wymagane” w komponentach, których instalacja jest obowiązkowa. Narzędzie qmllint usprawniło generowanie ostrzeżeń o możliwych problemach w kodzie QML. Dodano narzędzie qmlformat, które ułatwia formatowanie kodu QML zgodnie z wytycznymi dotyczącymi stylu kodowania. Zapewniona kompatybilność QML z edycją Qt dla mikrokontrolery.
  • W Qt Quick do elementu Obraz dodano obsługę przestrzeni kolorów. Do Qt Quick Shapes dodano nowy element PathText.
    Do modułu obsługi wskaźnika dodano właściwość kursorShape, za pomocą której można zmieniać kształt kursora myszy w systemach stacjonarnych. Dodano element HeaderView, aby ułatwić dodawanie pionowych i poziomych nagłówków do tabel opartych na TableView.

  • Znacząco ulepszono obsługę dekoracji okien po stronie klienta (CSD), umożliwiając aplikacji definiowanie własnych dekoracji okien i umieszczanie niestandardowej zawartości na pasku tytułu okna.
  • Moduł ustabilizowany Qt Lottie, który udostępnia zaawansowane API QML umożliwiające renderowanie grafiki i animacji eksportowanych do formatu JSON za pomocą wtyczki Bodymovin do Adobe After Effects. Dzięki QtLottie projektant może przygotować efekty animacji w wygodnej aplikacji, a programista może bezpośrednio podłączyć wyeksportowane pliki do interfejsu aplikacji na QtQuick. QtLottie zawiera wbudowany mikrosilnik do wykonywania animacji, kadrowania, nakładania warstw i innych efektów. Dostęp do silnika można uzyskać poprzez element QML LottieAnimation, którym można sterować z poziomu kodu QML w taki sam sposób, jak każdym innym elementem QtQuick.
  • Silnik przeglądarki Qt WebEngine został zaktualizowany do wersji podstawowej Chromium 80 (w gałęzi 5.14 użyto Chromium 77, aktualna wersja to Chromium 83).
  • Moduł Qt 3D posiada ulepszone narzędzia do profilowania i debugowania.
  • Qt Multimedia dodało obsługę renderowania wielopowierzchniowego.
  • W Qt GUI operacje skalowania i transformacji obrazu są teraz w wielu przypadkach wielowątkowe.
  • Qt Network dodał obsługę niestandardowych limitów czasu i skróty sesji w TLS 1.3 (Session Ticket, umożliwia wznowienie sesji bez zapisywania stanu po stronie serwera).
  • Włączono Qt Core, QRunnable i QThreadPool do pracy z funkcją std::. Dodano nową metodę QFile::moveToTrash() służącą do przenoszenia elementów do kosza, uwzględniającą specyfikę różnych platform.
  • W Qt dla Androida dodany Obsługa natywnych okien dialogowych do otwierania i zapisywania plików.

Źródło: opennet.ru

Dodaj komentarz