Компания Qt Company обяви изданието на фреймворка Qt 6.1, в което продължава работата по стабилизация и разширяване на функционалността на версията Qt 6. В Qt 6.1 е осигурена поддръжка на платформите Windows 10, macOS 10.14+, Linux (Ubuntu 20.04+, CentOS 8.1+, OpenSuSE 15.1+), iOS 13+ и Android (API 23+). Изходните кодове на компонентите на Qt се предлагат под лицензите LGPLv3 и GPLv2.
Ключовите подобрения в Qt 6.1 основно се отнасят до включването на модули, които бяха достъпни в Qt 5.15, но не бяха готови за включване в първото издание на Qt 6. По-специално, включени са модулите:
- Active Qt — поддръжка на COM контроли и ActiveX на платформата Windows.
- Qt Charts — създаване на графики.
- Qt Data Visualization — визуализация на статични и динамични данни.
- Qt Device Utilities — част от пакета Qt for Device Creation.
- Qt Graphical Effect — прослойка за опростяване на портването на приложения на Qt 6.
- Qt Lottie — визуализира графика и анимация, експортирана в JSON формат с плагина Bodymovin за пакета Adobe After Effects. Включва вглобен микродвигател за изпълнение на анимация, изрязване, обработка на слоеве и други ефекти.
- Qt State Machine — фреймворк за създаване на събитийно-ориентирани конструкции и реализиране на краен автомат на базата на SCXML.
- Qt Virtual Keyboard — реализация на виртуална клавиатура.
Модулите, които все още не са прехвърлени и се очакват в LTS изданието на Qt 6.2, насрочено за септември.
- 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
Промени в Qt 6.1:
- В Qt Core е извършена работа за подобряване на удобството за използване и опростяване на API. Добавени са методи removeIf() и разширен е броят на класовете, поддържащи метода erase_if(). Реализирани са методи, налични в QString, но отсъстващи в QStringView. Добавени са защитени от пренаселване функции за събиране, изваждане и умножение. Подобрена е поддръжката на 16-битови стойности с плаваща запетая. Актуализиран е API за свързване на свойства (property binding), който се появи в Qt 6.0. Добавени са нови класове за опростяване на интеграцията с Java, QJniEnvironment и QJniObject, обикновено искани на платформата Android.
- В Qt Gui е подобрена поддръжката на графичния API Vulkan 1.1 и 1.2. Добавен е нов клас QUrlResourceProvider, който се използва в QLabel и позволява да се избегне повторната реализация на loadResource() и създаването на подкласи на QTextDocument. Реализирана е възможността за прилагане на определени от потребителя функции за корекция на компонентите на цветови пространства в класа QColorSpace.
- В Qt Network е предложен класът QNetworkInformation, позволяващ да се определи състоянието на мрежата в системата. В обработчика за HTTP Cookie е добавена поддръжка на режима SameSite.
- В Qt Qml са реализирани опциите QJSPrimitiveValue и QJSManagedValue за по-цялостно управление на изпълнението на JavaScript.
- В Qt Quick 3D е добавена поддръжка на морфинг на целевата анимация и е реализирана експериментална поддръжка на дублиращо рендериране (instanced rendering), позволяваща в един проход да се визуализират множество копия на еднотипни обекти, разположени в периферийните части на сцената. Този метод значително ускорява рендерирането при наличие на много подобни обекти в сцената. На основата на посочения метод е реализирана поддръжка за визуализиране на триизмерни частици.
Източник: opennet.ru
