Wydanie frameworka Qt 6.12 LTS

Firma Qt Company opublikowała wydanie frameworka Qt 6.12, w którym kontynuowano prace nad stabilizacją i rozszerzaniem funkcjonalności gałęzi Qt 6. W Qt 6.12 zapewniono wsparcie dla platform Windows 10+, macOS 13+, Linux (Ubuntu 22.04/24.04, openSUSE 16, SUSE 15 SP6, RHEL 9.6/10.0, Debian 11.6/12), iOS 17+, Android 9+(API 23+), webOS, WebAssembly, INTEGRITY, VxWorks, FreeRTOS oraz QNX. Kod źródłowy komponentów Qt jest dostępny na licencjach LGPLv3 i GPLv2.

Qt 6.12 uzyskał status wydania LTS, dla którego aktualizacje będą tworzone przez pięć lat dla posiadaczy komercyjnej licencji. Dla użytkowników niekomercyjnych czas wsparcia wynosi sześć miesięcy (do wydania nowej istotnej wersji). Wsparcie dla poprzedniej gałęzi LTS Qt 6.8 potrwa do października 2029 roku, a wsparcie dla gałęzi LTS Qt 6.5 zakończyło się w tym roku.

Główne zmiany w Qt 6.12:

  • Uznano moduł Qt Canvas Painter za gotowy do szerokiego zastosowania, który zapewnia interfejs API do sprzętowego przyspieszenia renderowania treści 2D i wykorzystuje shadery do tworzenia skomplikowanych efektów wizualnych. Rysowanie odbywa się za pomocą silnika RHI (Rendering Hardware Interface), który obsługuje różne API 3D (OpenGL, Vulkan, Metal i Direct 3D). Na bazie Canvas Painter wprowadzono eksperymentalny element Canvas2D, stworzony z myślą o specyfikacji HTML dla kontekstu 2D Canvas, co upraszcza użycie JavaScript do rysowania figur.
  • Dodano eksperymentalny moduł StyleKit, który wyraźnie oddziela strukturę komponentów interfejsu użytkownika i atrybuty stylów, co pozwala uniknąć duplikacji kodu przy wdrażaniu jasnych, ciemnych i wysokokontrastowych motywów. StyleKit oferuje jednolity QML API do opisu stylów, umożliwiający osiągnięcie jednolitego stylu w hybrydowych aplikacjach, łączących klasyczne widżety i elementy oparte na Qt Quick.
  • Rozszerzono możliwości modułu Qt Graphs. Dla wykresów 2D wprowadzone nowe właściwości do dostosowywania etykiet osi oraz dodano wsparcie dla osi logarytmicznych. Dodano wbudowane działania do skalowania i panoramowania. Dodano opcję rysowania za pomocą wydajnego backendu opartego na module CanvasPainter, umożliwiającego wizualizację dużych ilości szybko zmieniających się danych.
  • W Qt Quick dodano typy QML: Safe Area, Context Menu, Double Spin Box i Search Field do wyświetlania treści bez zakłóceń, menu kontekstowych, formularzy wprowadzania liczb oraz pól do wysyłania zapytań wyszukiwawczych. Rozszerzono typ QML FlexboxLayout, przeznaczony do responsywnego układania elementów interfejsu zgodnie z koncepcją Flexbox stosowaną w CSS w celu uproszczenia pionowego wyrównania elementów.
  • Moduł Vector Image, umożliwiający integrację wektorowych obrazów w scenach Qt Quick w celu tworzenia skalowalnych elementów interfejsu, został wzbogacony o dodatkowe właściwości i możliwości animacji dla obrazów w formatach SVG i Lottie.
  • Rozszerzono klasę QRangeModel, oferującą wiązanie z QAbstractItemModel do bezpośredniego użycia w elementach interfejsu opartych na QML i Qt Quick dla wszelkich typów wyliczanych z C++, w tym std::vector, std::tuples i std::array. W nowej wersji wbudowano wsparcie dla sortowania danych, wprowadzono nowe właściwości do kontroli przemieszczania w trybie „Drag & Drop”, przyspieszono wyszukiwanie za pomocą metody match(), a także zapewniono ustawienia dla nagłówków i poszczególnych wierszy/elementów.
  • W module gRPC dodano narzędzia do kompresji wiadomości po stronie klienta oraz ograniczenia rozmiaru przychodzących wiadomości od serwery.
  • W silniku QML wprowadzono mechanizm Hot Reload, umożliwiający edytowanie kodu QML w czasie rzeczywistym podczas uruchomionej aplikacji i obserwowanie wyników przez qmlpreview bez potrzeby ponownego uruchamiania i zatrzymywania aplikacji.
  • Zapewniono wsparcie LTS dla platformy HarmonyOS, co ułatwia przenoszenie istniejących aplikacji Qt na smartfony, tablety, komputery PC oraz samochodowe systemy infotainment Huawei.
  • Zrealizowano wymagania europejskiego prawa Cyber Resilience Act (CRA), mające na celu utrzymanie bezpieczeństwa produktu, szybkie usuwanie luk w zabezpieczeniach przez cały cykl życia oraz ujawnianie informacji o lukach i incydentach związanych z bezpieczeństwem. W kodzie źródłowym wyróżniono komponenty krytyczne z punktu widzenia bezpieczeństwa, zorganizowano publikację informacji o testach bezpieczeństwa i zapewniono integrację aktualnych wersji zewnętrznych bibliotek.

Odtwarzaj wideo


Źródło: opennet.ru
Kup niezawodny hosting stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron z ochroną DDoS, serwery VPS VDS - ProHoster