Wydanie frameworka Qt 6.7 i środowiska programistycznego Qt Creator 13

Firma Qt opublikowała wydanie frameworka Qt 6.7, w którym kontynuowane są prace nad stabilizacją i zwiększeniem funkcjonalności gałęzi Qt 6 Qt 6.7 zapewnia wsparcie dla platform Windows 10+, macOS 12+, Linux (Ubuntu 22.04, openSUSE). 15.5, SUSE 15 SP5, RHEL 8.8 /9.2, Debian 11.6), iOS 16+, Android 8+ (API 23+), webOS, WebAssembly, INTEGRITY, VxWorks, FreeRTOS i QNX. Kod źródłowy komponentów Qt jest udostępniany na licencjach LGPLv3 i GPLv2.

Główne zmiany w Qt 6.7:

  • Ulepszona obsługa użycia kodu wykorzystującego elementy standardu C++20. Dodano klasy Qt::{strong,weak,partial}_ordering z implementacją typów std::*_ordering zgodnych ze specyfikacją C++17, a także makra, które po skompilowaniu przez kompilatory rozwijają się do trójczynnikowego operatora porównania „” obsługujące C++ 20 (jeśli kompilator obsługuje tylko C++ 17, makra wracają do używania zwykłych operatorów).

    Możliwe jest użycie szablonu klasy std::span do reprezentowania ciągłej sekwencji obiektów, który w przypadku systemów z C++ 17 jest zastępowany klasą QSpan. Kontynuowano prace nad wdrożeniem obsługi biblioteki std::chrono w różnych API Qt. Na przykład limity czasu w Qt Network API są teraz opisywane przy użyciu typów std::chrono i są określane w formie literałów, takich jak „5s”, aby wskazać 5 sekund.

  • Kontynuowano rozwój eksperymentalnego modułu Qt Graphs, przeznaczonego do budowania różnego rodzaju wykresów i wizualizacji dużych zbiorów szybko zmieniających się danych. Moduł jest rozwijany jako uniwersalny zamiennik starego modułu Qt DataVisualization, opartego na OpenGL oraz modułu Qt Charts. Nowy moduł wykorzystuje Qt Quick 3D i silnik renderujący RHI (Rendering Hardware Interface), który obsługuje różne API 3D (OpenGL, Vulkan, Metal i Direct 3D). Oprócz wizualizacji 3D, nowa wersja dodaje obsługę dwuwymiarowych wykresów kołowych i liniowych, a także wykresów rozrzutu. Zapewniona jest integracja z narzędziami i efektami animacji dostępnymi w Qt Quick. Dodano obsługę motywów. Architektura została zmodernizowana w celu zmniejszenia liczby operacji alokacji pamięci.
    Wydanie frameworka Qt 6.7 i środowiska programistycznego Qt Creator 13
  • Dodano nowe klasy QHttpHeaders, QNetworkRequestFactory, QRestAccessManager i QRestReply w celu tworzenia aplikacji klienckich korzystających z interfejsów API opartych na HTTP i architektury REST (REpresentational State Transfer).
  • Rozszerzono możliwości modułu Qt GRPC, umożliwiając dostęp do usług gRPC. Qt gRPC dodał nowe klasy dla wywołań przesyłania strumieniowego po stronie klienta, serwera i dwukierunkowego przesyłania strumieniowego, które umożliwiają automatyczną wymianę wiadomości w przypadku zmiany wartości. Zaproponowano interfejs Interceptor API umożliwiający dołączenie procedur obsługi wywołań zwrotnych dla wybranych komunikatów gRPC, które można wykorzystać np. do organizowania rejestrowania czy buforowania.
  • Moduł Qt Protobuf, przeznaczony do serializacji klas Qt przy użyciu protokołu Protocol Buffer, dodał możliwość serializacji do lub z formatu JSON.
  • Moduł grafiki wektorowej Qt SVG dodał obsługę elementów SVG 1.1 i 2.0, które są często wykorzystywane w praktyce w obrazach SVG ( , , , I ), co umożliwia wyświetlanie większości plików SVG. Osobom potrzebującym pełnego wsparcia dla SVG 2.0 sugerujemy skorzystanie z modułu Qt WebEngine. Dodano narzędzie svgtoqml do konwersji SVG do QML w celu importowania grafiki wektorowej bezpośrednio do wykresu sceny Qt Quick. Ustabilizowano możliwość wykorzystania modułu Qt Quick Shapes do wysokiej jakości rysowania krzywych przy użyciu modułu cieniującego fragmenty.
  • Dodano obsługę zmiennych czcionek, w których grubość, szerokość i inne cechy stylistyczne glifu mogą się dowolnie zmieniać. Dodano obsługę bibliotek ikon. Podczas korzystania z wywołania QIcon::fromTheme możliwe jest dopasowanie nazwy ikony do symbolu w bibliotece ikon.
  • Istnieje możliwość osadzenia w scenie Qt Quick okien natywnych dla aktualnej platformy, co pozwala na wykorzystanie elementów interfejsu dostarczonych przez platformę w interfejsie opartym na Qt Quick, można np. osadzić AppKit MapView czy Windows Media Player.
    Wydanie frameworka Qt 6.7 i środowiska programistycznego Qt Creator 13
  • Dodano obsługę dodawania kodu renderującego do aplikacji opartych na Qt Quick lub Qt Widgets, przy użyciu dowolnego API graficznego obsługiwanego w Qt (Vulkan, OpenGL, Direct3D, Metal). Dodawanie odbywa się za pomocą klas QRhiQuickItem i QRhiWidget.
  • Pełna obsługa jest zapewniona dla platform macOS 14, iOS 17, Windows 11 23H2, Android 14, RHEL 9.2, openSUSE 15.5, SUSE Linux Enterprise Server 15. Dodano zestawy dla Windows, skompilowane przy użyciu zestawu narzędzi MinGW opartego na LLVM. Dodano kompilacje podglądu dla architektury ARM (dla Windows i Linux), dla platformy VxWorks 7 i dla QNX 7.1.
  • Zaktualizowano stos Boot2Qt, za pomocą którego można tworzyć bootowalne systemy mobilne ze środowiskiem opartym o Qt i QML. Środowisko systemowe w Boot2Qt zostało zaktualizowane do platformy Yocto 4.3.
  • Dodano nowe przykładowe aplikacje. Przykład Lightning Viewer wykorzystujący lokalizację Qt i szybkie sterowanie Qt do wizualizacji danych burzy na mapie. Nowe demo OSM Buildings wykorzystujące Qt Quick 3D, Qt Positioning i Qt Network do tworzenia mapy budynków 3D na podstawie informacji z OpenStreetMap. Przykład Wirtualnego Asystenta demonstruje możliwości pracy z animacją 3D. Przykład renderowania wolumetrycznego pokazuje, jak używać tekstur 3D w Qt Quick 3D do wolumetrycznego śledzenia promieni. Przykład StocQt został całkowicie przeprojektowany, wykorzystując Qt Graphs do wyświetlania danych giełdowych.
    Wydanie frameworka Qt 6.7 i środowiska programistycznego Qt Creator 13

Dodatkowo możemy odnotować publikację zintegrowanego środowiska programistycznego Qt Creator 13.0, przeznaczonego do tworzenia aplikacji wieloplatformowych z wykorzystaniem biblioteki Qt. Wspiera zarówno tworzenie klasycznych programów w języku C++, jak i wykorzystanie języka QML, w którym JavaScript służy do definiowania skryptów, a strukturę i parametry elementów interfejsu określają bloki przypominające CSS. Powstały gotowe zestawy dla systemów Linux, Windows i MacOS.

W nowej wersji:

  • Dodano instalatory offline i online dla systemów ARM z systemem Linux.
  • Interfejs Witamy w Qt Creator został zaktualizowany, aby uwzględnić obsługę ciemnych i jasnych motywów.
    Wydanie frameworka Qt 6.7 i środowiska programistycznego Qt Creator 13
  • Ulepszony interfejs do przenoszenia paneli używany w trybie debugowania i tworzenia widżetów (Widget Designer). Dodano obsługę tymczasowego zwijania paneli pionowych. Panele można dowolnie przesuwać po ich nagłówku, bez konieczności ich wcześniejszego oddokowania.
    Wydanie frameworka Qt 6.7 i środowiska programistycznego Qt Creator 13
  • Dodano obsługę tworzenia, wdrażania, uruchamiania i debugowania aplikacji dla urządzeń korzystających z Qt Application Manager (dla aplikacji opartych na Qt 6 i CMake).
  • Dodano częściowe wsparcie dla iOS 17.
  • Zmieniono domyślny katalog kompilacji, aby teraz używał podkatalogu „build” w kodzie projektu. Możesz zmienić katalog kompilacji za pomocą ustawienia „Preferencje > Kompiluj i uruchamiaj > Domyślne właściwości kompilacji > Domyślny katalog kompilacji”.
  • W trybie projektu dodano sekcję „Zniknięte cele”, która wyświetla zestawy (linki do różnych narzędzi do kompilacji i wersji Qt), które nie są już dostępne, a także zapewnia możliwość utworzenia zamiennika lub użycia go podczas budowania, wdrażania i uruchomienie innego istniejącego zestawu.
  • Istnieje możliwość tworzenia zestawów do projektów w języku Python (w celu wybrania innej wersji interpretera).
  • Dodano możliwość korzystania z serwerów LSP (Language Server Protocol) dla YAML, JSON i Bash.
  • Edytor kodu zapewnia obsługę nawigacji od komponentów QML do powiązanego z nimi kodu C++.
  • Ustawienia ClangFormat zostały zreorganizowane. Dostępny jest edytor tekstu ze sprawdzaniem składni, umożliwiający zmianę własnych ustawień.
    Wydanie frameworka Qt 6.7 i środowiska programistycznego Qt Creator 13

Źródło: opennet.ru

Dodaj komentarz