Wydanie frameworka Qt 5.13

Po pół roku rozwoju przygotowano wydanie międzyplatformowego frameworka Qt 5.13. Tekst źródłowy komponentów Qt dostarczany jest na licencjach LGPLv3 i GPLv2, narzędzia Qt dla programistów, takie jak Qt Creator i qmake, a także niektóre moduły są dostarczane na licencji GPLv3.

Podstawowe nowości:

  • Pełne wsparcie dla modułu „Qt for WebAssembly” (wcześniej był eksperymentalny), który umożliwia kompilowanie aplikacji graficznych opartych na Qt do postaci modułów WebAssembly, które można uruchamiać bezpośrednio w przeglądarce internetowej. Do kompilacji używane jest Emscripten. OpenGL jest transliterowane do WebGL;
  • Rozszerzone możliwości modułu Qt GUI, który uogólnia klasy związane z integracją z systemami okienkowymi, obsługą zdarzeń, integracją z OpenGL i OpenGL ES, grafiką 2D, pracą z obrazami, czcionkami i tekstem. W nowej wersji dodano nowe API
    QImage::convertTo do konwersji formatów obrazów. W klasie QPainterPath dodano nowe metody clear, reserve i capacity;
  • W module Qt QML, który zapewnia narzędzia do tworzenia interfejsów za pomocą języka QML, poprawione wsparcie dla typów wyliczeniowych zdefiniowanych w kodzie C++. Optymalizowano przetwarzanie wartości „null” na etapie kompilacji. Dodano możliwość generowania tabel funkcji na 64-bitowych systemach Windows, co umożliwia rozwijanie stosu (unwind) dla funkcji skompilowanych JIT;
  • W Qt Quick w obiekcie TableView dodano możliwość ukrywania kolumn i wierszy tabel;
  • W Qt Quick Controls 2 dodano typ SplitView do poziomego lub pionowego rozmieszczania elementów z wyświetlaniem ruchomego separatora między każdym elementem. Dodano właściwość dla ikon, która umożliwia zarządzanie ich buforowaniem;
  • Silnik internetowy Qt WebEngine zaktualizowano do wersji Chromium 73 i rozszerzono o wsparcie dla wbudowanego czytnika PDF, zaprojektowanego jako wewnętrzny dodatek. Nowa wersja zawiera również przechowalnię lokalnych certyfikatów klienta oraz wsparcie dla certyfikatów z QML. Dodano API Web Notifications. Zrealizowano wsparcie dla definiowania przechwytywaczy zapytań URL;
  • W module Qt Network dla gniazd SSL dodano wsparcie dla zabezpieczonych kanałów (Secure Channel) i możliwość weryfikacji statusu certyfikatów za pomocą protokołu OCSP (Online Certificate Status Protocol). Dla wsparcia SSL w Linux i Android wykorzystano nową gałąź biblioteki OpenSSL 1.1;
  • W module Qt Multimedia dla QML typu VideoOutput dodano wsparcie dla ciągłego odtwarzania (bez przerw między różnymi treściami, sterowane właściwością flushMode). Dodano możliwość korzystania z frameworka GStreamer dla Windows i macOS. Dla Androida dodano wsparcie dla ról dźwiękowych;
  • Zaktualizowano moduł Qt KNX z obsługą jednolitych standardów do zarządzania automatyzacją domową. Dodano API do ustanawiania bezpiecznych połączeń klienckich z serwerem KNXnet, które można wykorzystać do chronionej wysyłki wiadomości na magistralę KNX oraz do zarządzania urządzeniami obsługującymi KNX;
  • Znak eksperymentalnej wersji został usunięty z C++ API modułu Qt OPC UA, zapewniającego wsparcie dla przemysłowego standardu komunikacji OPC/UA. Dodano eksperymentalne API dla QML;
  • Dodano nowy eksperymentalny moduł Qt CoAP (Constrained Application Protocol) z implementacją części klienta protokołu M2M, stosowanego do tworzenia sieci urządzeń Internetu rzeczy. Wprowadzono wsparcie dla DTLS (Datagram TLS) nad UDP;
  • Wprowadzono poprawki i ulepszenia w zestawie modułów „Qt for Python” do tworzenia aplikacji graficznych w języku Python przy użyciu Qt5 (programiści Pythona uzyskują dostęp do większości C++ API Qt). Qt for Python oparty jest na module PySide2 i kontynuuje jego rozwój (de facto pierwszy wydanie PySide z obsługą Qt 5 oferowane jest pod nową nazwą);
  • Dodano nowy eksperymentalny moduł Qt Lottie, zapewniający rozszerzone API dla QML, umożliwiający rysowanie grafiki i animacji eksportowanych w formacie JSON za pomocą wtyczki Bodymovin do pakietu Adobe After Effects. Dzięki QtLottie projektant może przygotować efekty animacyjne w wygodnej dla siebie aplikacji, a programista bezpośrednio podłączyć wyeksportowane pliki do interfejsu aplikacji w QtQuick. QtLottie zawiera wbudowany mikrosilnik do wykonywania animacji, przycinania, przetwarzania warstw i innych efektów. Silnik jest dostępny poprzez element QML LottieAnimation, którym można zarządzać z kodu QML jak innymi elementami QtQuick;
  • W Qt Wayland Compositor, wielowątkowym systemie renderowania dla wbudowanych urządzeń opartych na protokole Wayland, zapewniono wsparcie dla protokołów linux-dmabuf-unstable-v1 oraz wp_viewporter. W komponentach platformy dla Wayland dodano wsparcie dla protokołu fullscreen-shell-unstable-v1;
  • W module wsparcia dla platformy Android dodano możliwość korzystania z natywnych okien dialogowych do obsługi plików. Wymagania dotyczące minimalnej wersji platformy zostały podniesione do Android 5.0 (poziom API 21);
  • W Qt 3D dodano wsparcie dla importu i eksportu obsługiwanych tekstur OpenGL. Zrealizowano początkowe wsparcie dla importu scen glTF 2.0;
  • Ogłoszono o przestarzałości i zostaną usunięte w jednej z kolejnych wersji moduły Qt Script,
    Qt Quick Controls 1 i Qt XmlPatterns. Usunięto moduł Qt Canvas 3D.

Ź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