Wydanie frameworka Qt 6.9

Firma Qt Company opublikowała wersję frameworka Qt 6.9, w której kontynuowane są prace nad stabilizacją i zwiększaniem funkcjonalności gałęzi Qt 6. W Qt 6.9 zapewniono wsparcie dla platform Windows 10+, macOS 12+, Linux (Ubuntu 22.04/24.04, openSUSE 15.5, SUSE 15 SP5, RHEL 8.10/9.4, Debian 11.6), iOS 16+, Android 9+(API 23+), webOS, WebAssembly, INTEGRITY, VxWorks, FreeRTOS i QNX. Źródła komponentów Qt są dostarczane na licencjach LGPLv3 i GPLv2. Qt 6.9 uzyskał status wydania pośredniego, a publiczne wsparcie będzie realizowane przez 6 miesięcy (+ kolejne 6 miesięcy dla użytkowników komercyjnych).

Główne zmiany w Qt 6.9:

  • Kontynuowano rozwój modułu Qt Graphs, który służy do tworzenia wykresów 2D i 3D oraz wizualizacji dużych zbiorów szybko zmieniających się danych. Moduł korzysta z Qt Quick 3D i interfejsu renderowania RHI (Rendering Hardware Interface), który obsługuje różne API 3D (OpenGL, Vulkan, Metal i Direct 3D). W nowej wersji dodano wsparcie dla przezroczystości w typie QML Surface3D, zaimplementowano klasę QSpline3DSeries do rysowania danych w postaci 3D spline'ów, dodano dodatkowe możliwości dostosowania wyglądu wykresów, osi i etykiet. Pojawiła się możliwość wstawiania wykresów do aplikacji opartych na Qt Quick 3D, korzystając z właściwości „importScene” w scenach opartych na View3D. Uproszczono konfigurację parametrów wejściowych w wykresach 2D. W QGraphsView wprowadzono wsparcie dla precyzyjnego pozycjonowania prostokątnego obszaru (plotArea) do wyświetlania wykresu.
    Wydanie frameworka Qt 6.9
  • Dodano możliwość rozpoznawania kodów emoji w tekście oraz używania właściwych kolorowych czcionek do ich wyświetlania. W QFontDatabase dodano nowe API do wyboru rodziny czcionek dla emoji. Obecnie wspierane są czcionki w formatach CBDT i COLRv1. W razie potrzeby parsowanie emoji może zostać wyłączone.
    Wydanie frameworka Qt 6.9Wydanie frameworka Qt 6.9
  • Dodano API do tworzenia interfejsów, w których elementy interfejsu są zintegrowane z zawartością i nie odwracają uwagi użytkownika (zawartość zajmuje całą przestrzeń okna, bez wyróżnienia nagłówka). Aby rozszerzyć obszar interfejsu aplikacji na całe okno, dodano flagę Qt.ExpandedClientAreaHint, a aby wydzielić obszary z elementami systemowymi, takimi jak nagłówki, stopki i menu, które nie powinny kolidować z wewnętrznymi elementami interfejsu aplikacji, w Qt Quick zaimplementowano właściwość „SafeArea”.
    Wydanie frameworka Qt 6.9
  • W module Qt SVG dodano wstępne wsparcie dla animacji CSS, które obecnie dotyczy tylko właściwości „color”, „fill”, „stroke” i „transform”.
  • Pracowano nad podniesieniem wydajności.
    • Na systemach z hybrydowymi procesorami, wyposażonymi w osobne rdzenie wysokowydajne i energooszczędne, w QThread dodano możliwość przekazania planowaniu wskazówki, na którym typie rdzeni CPU należy wykonywać wskazany wątek.
    • Dla aplikacji korzystających z QQuickPaintedItem z OpenGL zezwolono na stosowanie trybu renderowania FramebufferObject, w którym wykorzystuje się przyspieszenie sprzętowe.
    • W backendzie RHI (Rendering Hardware Interface) dla OpenGL ES wprowadzono rozszerzenie obsługujące multisampling, co pozwala na zwiększenie wydajności Qt Quick i Qt Quick 3D na nowoczesnych GPU.
    • W backendzie RHI dla Direct 3D dodano osobny wątek do śledzenia zakończenia pionowego odświeżania (vblank), co pozwoliło na zredukowanie opóźnień w interaktywnych interfejsach.
    • We wszystkich backendach RHI poza OpenGL dodano wsparcie dla mechanizmu Variable Rate Shading (VRS), co umożliwia w aplikacjach wirtualnej rzeczywistości opartych na Quick 3D XR wspieranie renderowania z uwzględnieniem kierunku spojrzenia użytkownika.
    • W Qt Quick zaproponowano nowy element RectangularShadow, który zmniejsza obciążenie CPU przy używaniu efektów cieniowania i blasku w interfejsie.
    • W klasie QHeaderView znacząco zmniejszono zużycie pamięci przy wyłączeniu zmiany rozmiaru i reorganizacji sekcji.
  • W Quick 3D zaimplementowano technikę „Weighted Blended”, umożliwiającą rysowanie przezroczystych obiektów bez konieczności wykonywania osobnych operacji sortowania głębokości. Zaimplementowana technika eliminuje pojawienie się artefaktów z powodu niewłaściwego sortowania, które występują, gdy obiekty nakładają się na siebie. Pod względem obciążenia procesora i zużycia pamięci nowa metoda jest identyczna z poprzednią.
    Wydanie frameworka Qt 6.9
  • Dodano moduł Qt Network Authorization, który oferuje API do autoryzacji za pomocą protokołów OAuth1 i OAuth2, które można wykorzystać do uzyskiwania dostępu do usług online bez ujawniania hasła użytkownika.
  • Zrealizowano prace nad wzmocnieniem ochrony modułu Qt HTTP Server. W QHttpServerConfiguration dodano możliwość ograniczenia maksymalnej liczby przychodzących żądań. W QHttp2Configuration dla klientów HTTP/2 dodano wsparcie dla konfiguracji maksymalnej liczby jednocześnie tworzonych wątków.
  • W QML Language Server, implementacje serwera LSP (Language Server Protocol) dla QML zapewnia przekazywanie informacji o strukturze QML, umożliwiając wyświetlanie hierarchicznego przedstawienia struktury QML w edytorach kodu i zintegrowanych środowiskach programistycznych.
  • W Qt Quick dodano nowy komponent ContextMenu, który ułatwia powiązanie menu kontekstowych z elementami, otwieranymi w odpowiedzi na specyficzne dla platformy zdarzenia, takie jak kliknięcie prawym przyciskiem myszy. Dla komponentów TextField i TextArea dodano domyślne menu kontekstowe.

Ź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