Wydanie frameworka Qt 6.8

Firma Qt Company opublikowała wydanie frameworka Qt 6.8, w którym kontynuowane są prace nad stabilizacją i zwiększaniem funkcjonalności gałęzi Qt 6. W Qt 6.8 dodano wsparcie dla platform Windows 10+, macOS 12+, Linux (Ubuntu 22.04/24.04, openSUSE 15.5, SUSE 15 SP5, RHEL 8.8/9.2, Debian 11.6), iOS 16+, Android 9+(API 23+), webOS, WebAssembly, INTEGRITY, VxWorks, FreeRTOS oraz QNX. Źródła komponentów Qt są dostarczane na licencjach LGPLv3 oraz GPLv2.

Qt 6.8 uzyskał status wydania LTS, dla którego aktualizacje będą wydawane przez pięć lat dla posiadaczy licencji komercyjnej, co jest o dwa lata dłużej niż w poprzednich wydaniach LTS. Dla użytkowników niekomercyjnych czas wsparcia wyniesie sześć miesięcy (do momentu wydania nowej znacznej wersji). Wsparcie dla poprzedniej gałęzi LTS Qt 6.5 potrwa do maja 2026 roku, natomiast wsparcie dla gałęzi LTS Qt 6.2 zakończono 30 września 2024 roku. Gałąź Qt 5.15 będzie wspierana do maja 2025 roku.

Główne zmiany w Qt 6.8:

  • Został ustabilizowany i przeniesiony do kategorii w pełni wspieranych moduł Qt Graphs, przeznaczony do tworzenia różnych typów wykresów 2D i 3D oraz wizualizacji dużych zbiorów szybko zmieniających się danych. Moduł rozwijany jest jako uniwersalne zastąpienie starego modułu Qt DataVisualization, opartego na OpenGL, oraz modułu Qt Charts. Nowy moduł korzysta z Qt Quick 3D i silnika renderującego RHI (Rendering Hardware Interface), który wspiera różne API 3D (OpenGL, Vulkan, Metal oraz Direct 3D).

    W porównaniu do poprzedniego wydania w Qt Graphs 3D dodano optymalizacje wydajności, zapewniono wsparcie dla przezroczystości na wykresach 3D (Bars3D), rozszerzono możliwości zarządzania położeniem i formatowaniem etykiet oraz nagłówków, a także usprawniono rysowanie linii siatki nawigacyjnej. W Qt Graphs 2D dodano możliwość rysowania własnych typów wykresów słupkowych (poprzez komponenty QML), dodano wsparcie dla wykresów słupkowych skumulowanych oraz rozszerzono narzędzia do wyświetlania etykiet. Ujednolicono API do stosowania motywów w wykresach 2D i 3D. Wywołania specyficzne dla widżetów przeniesiono do modułu Qt Graphs Widgets.

  • Stabilizowano i wprowadzono do grupy w pełni obsługiwanych moduł QtHttpServer, który umożliwia integrowanie funkcjonalności serwera HTTP w aplikacjach, wspierając HTTP/1.1, TLS/HTTPS, WebSockets, obsługę błędów, routowanie żądań na podstawie parametrów w URL (QHttpServerRouter) oraz REST API. W porównaniu do poprzedniej wersji w klasie QNetworkAccessManager zrealizowano możliwość wysyłania żądań HTTP przez lokalny socket. Udostępniono wsparcie dla klasy QFormDataBuilder w celu uproszczenia przesyłania wielu zestawów danych (np. danych tekstowych i załączonego pliku) w jednym żądaniu HTTP (HTTP multi-part).
  • Stabilizowano i wprowadzono do grupy w pełni obsługiwanych moduł Qt GRPC, który umożliwia dostęp do usług za pomocą protokołu gRPC.
  • Stabilizowano i wprowadzono do grupy w pełni obsługiwanych moduł Qt Protobuf, który jest przeznaczony do serializacji klas Qt, korzystając z protokołu Protocol Buffer.
  • Dodano wsparcie dla mobilnych platform Android 14 i iOS 18.
  • Udostępniono możliwość tworzenia aplikacji dla systemów desktopowych Linux i Windows z procesorami ARM, a także dla zestawów 3D Apple Vision Pro i Meta Quest 3 XR.
  • Dodano wsparcie dla Raspberry Pi 5, NVIDIA AGX Orin oraz kilku płytek opartych na SoC NXP, Toradex i STM. Stworzono wsparcie dla płyt RISC-V StarFive VisionFive 2.
  • Rozszerzono możliwości tworzenia ograniczonych wersji Qt, które mogą być używane na urządzeniach o ograniczonej pamięci. Na przykład, wyłączając nieużywane funkcje i komponenty Qt, można osiągnąć redukcję rozmiaru pakietu w pamięci trwałej o 77% oraz zmniejszenie zużycia RAM o 32%, a także znacząco skrócić czas uruchamiania.
  • W module Qt Multimedia na platformie Linux wprowadzono wsparcie dla przechwytywania ekranu za pomocą klasy QScreenCapture w środowiskach opartych na protokole Wayland, korzystając z usługi ScreenCast i systemu portali XDG Desktop. Dodano klasy QVideoFrameInput, QAbstractVideoBuffer i QAudioBufferInput, za pomocą których można zorganizować przesyłanie własnych danych multimediowych do sesji nagrywania (QMediaCaptureSession), a także klasę QAudioBufferOutput do podłączania przetwarzających dane dźwiękowe na etapie po dekodowaniu.
  • Dodano moduł Qt Quick Vector Image, który umożliwia integrację wektorowych obrazów w formacie SVG w scenach Qt Quick, co może być wykorzystane, na przykład, do tworzenia skalowalnych elementów interfejsu, niezależnych od rozdzielczości i rozmiaru ekranu.
    Wydanie frameworka Qt 6.8
  • Dodano moduł Qt Quick 3D XR do tworzenia aplikacji na platformy wirtualnej i rozszerzonej rzeczywistości, wykorzystując technologie Qt Quick 3D. Dla organizacji interakcji z trójwymiarowymi environmentami stworzonymi przy użyciu Qt Quick 3D, wspierane jest użycie urządzeń do śledzenia ruchu rąk oraz kontrolerów VR. Do wizualizacji można wykorzystać okulary Apple VisionPro lub hełmy 3D z obsługą standardu OpenXR, takie jak Meta Quest 2/3.
    Wydanie frameworka Qt 6.8
  • W Qt Quick dodano optymalizacje przyspieszające renderowanie skomplikowanych scen. W klasie TableView pojawiła się możliwość przenoszenia kolumn i wierszy. Typy Image i BorderImage zyskały wsparcie dla asynchronicznego ładowania obrazów (stare zdjęcie pozostaje, podczas gdy ładowane jest nowe).
  • W module Qt Quick Effect Maker dodano wsparcie dla animacji sprite'ów, zakrzywiania elementów w okręgu oraz zastosowania efektów glow i maskowanego rozmycia (masked blur).
  • W module Qt Quick Shapes podczas wypełniania konturów zezwolono na użycie dowolnych dostawców tekstur w elementach typu ShapePath. W klasie QQuickRenderTarget dodano nowe metody do zarządzania przetwarzaniem tekstur i uproszczenia integracji Qt Quick 3D z zewnętrznymi silnikami, frameworkami i API.
  • W Qt Quick Controls wprowadzono nowy styl Fluent WinUI3, pozwalający na stworzenie interfejsu wyglądającego jak Windows 11 na wszystkich platformach. W macOS zrealizowano możliwość korzystania z globalnego menu dostarczanego przez platformę w interfejsach stworzonych przy użyciu Quick MenuBar.
    Wydanie frameworka Qt 6.8
  • W Qt Quick 3D poprawiono renderowanie cieni dzięki zastosowaniu kaskadowych map cieni oraz miękkiej filtracji cieni. W typie PrincipledMaterial dodano nowe właściwości. Umożliwiono korzystanie w własnych materiałach z tych samych właściwości, co w materiałach opartych na typie PrincipledMaterial.
    Wydanie frameworka Qt 6.8
  • W module Qt Network Auth dodano klasę QOAuthUriSchemeReplyHandler do tworzenia obsługiwaczy przekierowań na inny schemat URI podczas autoryzacji za pomocą OAuth 2.0. W klasie QOAuth2AuthorizationCodeFlow dodano wsparcie dla rozszerzenia OAuth PKCE (Proof Key for Code Exchange).
  • Klasa QDnsLookup zyskała możliwość wysyłania zapytań z użyciem „DNS over TLS”, wdrożono wsparcie dla rekordów DNS typu TLSA (TLS Certificate Association) oraz zapewniono informację dla klienta o przeprowadzonej weryfikacji danych przez serwer DNS.
  • W Qt Core dodano klasę QChronoTimer z opakowaniem na bibliotekę std::chrono, pozwalającą na zwiększenie precyzji operacji związanych z czasem. Wprowadzono możliwość zmiany rozmiaru QString, QByteArray i QList bez inicjalizacji danych. W QHash dodano wsparcie dla przechowywania w jednym hashu danych o typach QString i QStringView. W QDirListing udostępniono API oparte na iteracjach do przeglądania zawartości katalogów.
  • W Qt GUI dodano możliwość redefiniowania ustawień systemowego schematu kolorów, na przykład do wyboru trybu ciemnego lub jasnego, a także ustawień działań prowadzących do wywołania menu kontekstowego.
  • W Qt Sql sterowniki baz danych PostgreSQL i MySQL/MariaDB teraz poprawnie obsługują czas oraz daty w sytuacji, gdy klient i serwer serwerze wybrali różne strefy czasowe.
  • Qt WebEngine dodano nowe klasy: QWebEngineFrame do pracy na poziomie poszczególnych bloków iframe; QWebEngineClientHints do zarządzania identyfikacją przeglądarki; QWebEnginePermission do zarządzania uprawnieniami w kontekście stron internetowych.
  • W Qt Widgets poprawiono renderowanie widżetów na ekranach o wysokiej gęstości pikseli (high-DPI).
  • Generator dokumentacji QDoc przetworzono z C API na C++ API, a jego działanie wymaga teraz przynajmniej Clang 17. Dodano nowe komendy, takie jak „\keyword” i „\nativetype”.
  • W ramach działań mających na celu poprawę stabilności i wydajności wydania LTS wprowadzono ponad 500 poprawek i optymalizacji.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster