Кампанія Qt Company апублікавала рэліз фрэймворка Qt 6.1, у якой працягнутая праца па стабілізацыі і нарошчванню функцыянальнасці галінкі Qt 6. У Qt 6.1 забяспечана падтрымка платформаў Windows 10, macOS 10.14+, Linux (Ubuntu 20.04+, CentOS 8.1. iOS 15.1+ і Android (API 13+). Зыходныя тэксты кампанентаў Qt пастаўляюцца пад ліцэнзіямі LGPLv23 і GPLv3.
Ключавыя паляпшэнні ў 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
- NFC
- Qt пазіцыянаванне
- Qt Quick Dialogs: Folder, Message Box
- Qt Remote Objects
- Датчыкі Qt
- Паслядоўная шына Qt
- Серыйны порт Qt
- Вэб-канал Qt
- 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