Wydanie frameworka Qt 6.4

Firma Qt Company opublikowała wydanie frameworka Qt 6.4, w którym kontynuowano prace nad stabilizacją i rozwijaniem funkcjonalności gałęzi Qt 6. W Qt 6.4 zapewniono wsparcie dla platform Windows 10+, macOS 10.15+, Linux (Ubuntu 20.04, CentOS 8.2, openSUSE 15.3, SUSE 15 SP2), iOS 14+, Android 6+ (API 23+), webOS, WebAssembly, INTEGRITY i QNX. Źródłowe kody komponentów Qt są dostarczane na licencjach LGPLv3 i GPLv2.

Główne zmiany w Qt 6.4:

  • W pełni zaimplementowano wsparcie dla platformy WebAssembly, co pozwala na tworzenie aplikacji Qt działających w przeglądarkach internetowych i przenoszących między różnymi platformami sprzętowymi. Aplikacje kompilowane dla platformy WebAssembly, dzięki kompilacji JIT, działają z wydajnością bliską natywnemu kodowi, mogą używać Qt Quick, Qt Quick 3D oraz dostępnych w Qt narzędzi wizualizacji. Ponieważ aplikacja oparta na WebAssembly działa w izolowanym środowisku przeglądarki, dostęp do niektórych interfejsów API do pracy z lokalnymi zasobami i usługami systemu operacyjnego jest ograniczony, ale dodatkowo oferowane są interfejsy API do integracji z przeglądarką.
  • Do głównej struktury przywrócono moduł Qt TextToSpeech, który był dostarczany w Qt 5, ale nie wszedł do gałęzi Qt 6. Moduł ten zapewnia środki do syntezy mowy, co może być stosowane w celu zwiększenia dostępności aplikacji dla osób z ograniczeniami funkcjonalnymi lub do realizacji nowych środków informowania użytkownika w tle, na przykład do wyświetlania powiadomień w aplikacjach dla samochodowych systemów informacyjno-rozrywkowych. W systemie Linux konwersja tekstu na mowę odbywa się za pomocą biblioteki Speech Dispatcher (libspeechd), a na innych platformach przez standardowy interfejs API systemu operacyjnego.
  • Dodano eksperymentalny moduł z implementacją stylizacji iOS dla Qt Quick. Aplikacje oparte na Qt Quick Controls mogą automatycznie korzystać z tego modułu do tworzenia natywnego wyglądu interfejsu na platformie iOS, analogicznie do zastosowania natywnego wyglądu w Windows, macOS i Androidzie.
    Wydanie frameworka Qt 6.4Wydanie frameworka Qt 6.4
  • Dodano eksperymentalny moduł QtHttpServer, który umożliwia integrację w aplikacjach funkcjonalności serwera HTTP, obsługującego HTTP/1.1, TLS/HTTPS, WebSockets, przetwarzanie błędów, routowanie zapytań na podstawie parametrów w URL (QHttpServerRouter) oraz REST API.
  • Dodano eksperymentalne moduł Qt Quick 3D Physics, który zapewnia API do symulacji procesów fizycznych, które można wykorzystać wraz z Qt Quick 3D do realistycznej interakcji i poruszania obiektami w scenach 3D. Implementacja oparta jest na silniku PhysX.
  • Moduł Qt Quick 3D zyskał eksperymentalne wsparcie dla globalnego oświetlenia z wykorzystaniem map oświetlenia, co pozwala na bardziej realistyczne odwzorowanie światła z różnych źródeł w scenie 3D. W Qt Quick 3D zaimplementowano również wsparcie dla cząstek liniowych, lśniących materiałów, rozszerzonych ustawień odbicia, skyboxów oraz własnych materiałów i tekstur.
    Wydanie frameworka Qt 6.4
  • Rozszerzono możliwości dostępnych w Qt Quick typów TableView i TreeView, w których pojawiło się wsparcie dla nawigacji za pomocą klawiatury, zaznaczania wierszy i kolumn, bardziej zaawansowanego zarządzania położeniem komórek, animacjami, oraz zwijania i rozwijania struktur drzewiastych.
  • W Qt Quick wprowadzono nowy typ FrameAnimation, który pozwala na wykonywanie kodu synchronicznie z klatkami animacji. Aby poprawić płynność animacji, w Qt Quick zapewniono również automatyczne przetwarzanie niepoprawnej synchronizacji vsync podczas wielowątkowego renderowania.
    Odtwarzaj wideo
  • W widżecie QQuickWidget, umożliwiającym tworzenie interfejsów łączących elementy oparte na Qt Quick i Qt Widget, zaimplementowano pełne wsparcie dla warstwy RHI (Rendering Hardware Interface), co pozwala na korzystanie nie tylko z OpenGL, ale także z API Vulkan, Metal i Direct 3D.
  • Do modułu Qt Network dodano klasę QSslServer, która umożliwia tworzenie efektywnych sieciowych serwery, wykorzystujących TLS do ustanawiania zabezpieczonego kanału komunikacyjnego.
  • Do modułu Qt Multimedia dodano eksperymentalny backend, który wykorzystuje pakiet FFmpeg do przetwarzania wideo i dźwięku. W przypadku odtwarzania wideo poprawiono przetwarzanie przestrzeni kolorów oraz HDR, dodano możliwość podstawiania napisów przez QVideoFrames. Dodano wsparcie dla dźwięku przestrzennego, co pozwala na tworzenie scen z trójwymiarowym rozkładem dźwięku oraz symulowanie wirtualnych pokoi z cechami odbicia dźwięku w zależności od położenia słuchacza, wielkości pomieszczenia oraz materiałów ścian i podłogi.
  • W module Qt Widgets klasa QFormLayout została rozszerzona o narzędzia do budowy interfejsów służących do przechwytywania zorganizowanego wejścia użytkownika. W klasie QWizard, przeznaczonej do tworzenia interfejsów wielostopniowych, dodano API do zarządzania widocznością wierszy w formularzach oraz przechodzenia do dowolnej strony w kreatorze.
  • W QML poprawiono wsparcie dla typów wartości, co upraszcza przekazywanie zorganizowanych danych z C++ do QML. Takie typy i listy tych typów mogą teraz być używane w właściwościach bez opakowania na bazie QObject. Rozszerzono możliwości serwera LSP w celu zintegrowania wsparcia dla języka QML w zintegrowanych środowiskach programistycznych. Domyślnie włączono kompilator typów QML, umożliwiający kompilację przedstawienia QML do kodu w C++.
  • Rozszerzono możliwości pracy z literałami tekstowymi w kodzie — do klas QStringEncoder i QStringDecoder dodano wsparcie dla wszystkich kodowań dostępnych w ICU (International Components for Unicode).
  • W klasie QTextDocuments dodano wsparcie dla składni Markdown.

Ź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