Firma Qt Company opublikowała wydanie frameworka Qt 6.3, w którym kontynuowana jest praca nad stabilizacją i rozszerzaniem funkcjonalności gałęzi Qt 6. W Qt 6.3 zapewniono wsparcie dla platform Windows 10, macOS 10.14+, Linux (Ubuntu 20.04, CentOS 8.2, openSUSE 15.3, SUSE 15 SP2), iOS 13+, Android 6+ (API 23+), webOS, INTEGRITY i QNX. Kody źródłowe komponentów Qt dostępne są na licencjach LGPLv3 i GPLv2.
Główne zmiany w Qt 6.3:
- W module Qt QML wprowadzono eksperymentalną implementację kompilatora qmltc (kompilator typów QML), który umożliwia kompilację struktur obiektów QML do klas w języku C++. Dla użytkowników komercyjnych przygotowano produkt Qt Quick Compiler, który oprócz wspomnianego powyżej kompilatora typów QML zawiera kompilator skryptów QML, umożliwiający kompilację funkcji i wyrażeń QML do kodu C++. Zaznacza się, że zastosowanie Qt Quick Compiler pozwala na zbliżenie wydajności programów opartych na QML do natywnych programów, przy czym przy kompilacji rozszerzeń zauważalne jest skrócenie czasu uruchamiania i wykonania o około 20-35% w porównaniu do użycia wersji interpretowanej.

- Zrealizowano moduł „Qt Language Server” z wsparciem dla protokołów Language Server i JsonRpc 2.0.
- Do modułu Qt Wayland Compositor dodano kompozytor. serwer Qt Shell i API do tworzenia własnych rozszerzeń interfejsu użytkownika.
- W Qt Quick Controls zintegrowano typy QML CalendarModel i TreeView z implementacją interfejsów do wyświetlania kalendarza i danych w widoku drzewiastym.


- W module Qt Quick Dialogs dodano typy QML MessageDialog i FolderDialog do wykorzystania systemowych okien dialogowych dostarczonych przez platformę do wyświetlania wiadomości i nawigacji po plikach.

- W Qt Quick zwiększono wydajność i efektywność pracy z tekstem. Na przykład rozwiązano problemy z opóźnieniem renderowania i dużym zużyciem pamięci przy przesyłaniu bardzo dużych dokumentów do komponentów Text, TextEdit, TextArea i TextInput.
- Do modułu Qt Quick 3D dodano element QML ReflectionProbe do renderowania odzwierciedleń obiektów. Rozszerzono API 3D Particles o efekty, które mogą być dodawane do scen 3D w wyniku dużych skupisk cząsteczek (dym, mgła itp.). Zrealizowano nowy element ResourceLoader, który zapewnia narzędzia do zarządzania zasobami w Qt Quick 3D i umożliwia zorganizowanie wstępnego ładowania dużych zasobów, takich jak siatki czy tekstury, a także kontrolowanie dopuszczalności zwalniania zasobów, które nie znajdują się w widocznej części sceny.

- Dodano wstępne wdrożenie modułu Qt PDF, który był obecny w Qt 5.15, ale nie został włączony do Qt 6.

- Do modułu Qt Core dodano dużą porcję nowych funkcji, głównie związanych z rozszerzeniem możliwości przetwarzania danych tekstowych. W QLocale dodano wsparcie dla kodów języków ISO639-2. W QDate, QTime i QLocale dodano wsparcie dla specyfikatorów czasu AM/PM. Uproszczono konwersję między formatami JSON i CBOR. Dodano metody QtFuture::whenAll() i whenAny().
- W Qt Positioning wprowadzono możliwość określenia dokładności danych o lokalizacji dostarczanych przez platformy Android i iOS.
- W Qt Bluetooth zapewniono wyjście informacji o wsparciu Bluetooth LE oraz informacjach o stanie adaptera Bluetooth w systemie Windows.
- W Qt Widgets poprawiono wsparcie dla ekranów o wysokiej rozdzielczości, stylów i zmiany wyglądu przy użyciu arkuszy stylów.
- Udoskonalono system budowania oparty na CMake. Dodano funkcję qt-generate-deploy-app-script(), która upraszcza generację skryptów do wdrażania aplikacji na różnych platformach.
- Wykonano dużą pracę nad zwiększeniem stabilności i jakości bazy kodu. W porównaniu z wydaniem Qt 6.2 zamknięto 1750 zgłoszeń błędów.
- W kolejnych znaczących wydaniach Qt 6.x planowane jest wprowadzenie pełnego wsparcia dla WebAssembly, QHttpServer, gRPC, backendu do Qt Multimedia opartego na FFmpeg, Qt Speech i Qt Location.
Źródło: opennet.ru






