Wydanie frameworka Qt 6.1

Firma Qt Company opublikowała wydanie frameworka Qt 6.1, w którym kontynuowana jest praca nad stabilizacją i rozbudową funkcjonalności gałęzi Qt 6. W Qt 6.1 zapewniono wsparcie dla platform Windows 10, macOS 10.14+, Linux (Ubuntu 20.04+, CentOS 8.1+, OpenSuSE 15.1+), iOS 13+ oraz Android (API 23+). Kody źródłowe komponentów Qt dostarczane są na licencjach LGPLv3 i GPLv2.

Kluczowe ulepszenia w Qt 6.1 dotyczą głównie włączenia do składu modułów, które były dostępne w Qt 5.15, ale nie były gotowe do włączenia w pierwszym wydaniu Qt 6. W szczególności do składu włączono moduły:

  • Active Qt — wsparcie dla elementów sterujących COM i ActiveX na platformie Windows.
  • Qt Charts — tworzenie diagramów.
  • Qt Data Visualization — wizualizacja danych statycznych i dynamicznych.
  • Qt Device Utilities — część pakietu Qt for Device Creation.
  • Qt Graphical Effect — interfejs do uproszczenia portowania aplikacji na Qt 6.
  • Qt Lottie — renderuje grafikę i animacje wyeksportowane w formacie JSON za pomocą wtyczki Bodymovin do pakietu Adobe After Effects. Zawiera wbudowany mikrosilnik do wykonywania animacji, przycinania, przetwarzania warstw i innych efektów.
  • Qt State Machine — framework do tworzenia konstrukcji zorientowanych na zdarzenia i realizacji automatu stanowego na bazie SCXML.
  • Qt Virtual Keyboard — implementacja wirtualnej klawiatury.

Moduły, które jeszcze nie zostały przeniesione i oczekiwane są w LTS-wydaniu Qt 6.2, planowanym na wrzesień.

  • Qt Bluetooth
  • Qt Multimedia
  • Qt NFC
  • Qt Positioning
  • Qt Quick Dialogs: Folder, Message Box
  • Qt Remote Objects
  • Qt Sensors
  • Qt SerialBus
  • Qt SerialPort
  • Qt WebChannel
  • Qt WebEngine
  • Qt WebSockets
  • Qt WebView

Zmiany w Qt 6.1:

  • W Qt Core dokonano prac nad zwiększeniem użyteczności i uproszczeniem API. Dodano metody removeIf() oraz rozszerzono liczbę klas wspierających metodę erase_if(). Zrealizowano metody dostępne w QString, ale brakujące w QStringView. Dodano zabezpieczone przed przepełnieniem funkcje dodawania, odejmowania i mnożenia. Ulepszono wsparcie dla 16-bitowych wartości zmiennoprzecinkowych. Zaktualizowano API do wiązania właściwości (property binding), które pojawiło się w Qt 6.0. Dodano nowe klasy do uproszczenia integracji z Java, QJniEnvironment oraz QJniObject, które są zwykle wymagane na platformie Android.
  • W Qt Gui poprawiono wsparcie dla graficznego API Vulkan 1.1 i 1.2. Dodano nową klasę QUrlResourceProvider, która jest używana w QLabel i pozwala na uniknięcie ponownej implementacji loadResource() oraz tworzenia podklas QTextDocument. Zrealizowano możliwość zastosowania określonych przez użytkownika funkcji korekcyjnych komponentów przestrzeni kolorów w klasie QColorSpace.
  • W Qt Network wprowadzono klasę QNetworkInformation, która pozwala określić stan sieci w systemie. W obsłudze HTTP Cookie dodano wsparcie dla trybu SameSite.
  • W Qt Qml zrealizowano opcje QJSPrimitiveValue i QJSManagedValue dla bardziej precyzyjnego zarządzania wykonaniem JavaScript.
  • W Qt Quick 3D dodano wsparcie dla morfingu animacji docelowej oraz zrealizowano eksperymentalne wsparcie dla renderowania instancjonowanego (instanced rendering), które pozwala na jednoczesne renderowanie wielu kopii jednorodnych obiektów umieszczonych w peryferyjnych częściach sceny. Metoda ta znacznie przyspiesza renderowanie w przypadku dużej liczby podobnych obiektów w scenie. Na podstawie tej metody zrealizowano wsparcie dla renderowania trójwymiarowych cząsteczek.

Ź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