Po pół roku rozwoju wydanie międzyplatformowego frameworka . 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 :
- 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 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ł , 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
