Реліз фреймворку Qt 6.7 та середовища розробки Qt Creator 13

Компанія Qt Company опублікувала реліз фреймворку Qt 6.7, у якому продовжено роботу зі стабілізації та нарощування функціональності гілки Qt 6. У Qt 6.7 забезпечена підтримка платформ Windows 10+, macOS 12+, Linux (Ubuntu 22.04, openSUSE 15.5. /15, Debian 5), iOS 8.8+, Android 9.2+ (API 11.6+), webOS, WebAssembly, INTEGRITY, VxWorks, FreeRTOS та QNX. Вихідні тексти компонентів Qt поставляються під ліцензіями LGPLv16 та GPLv8.

Основні зміни в Qt 6.7:

  • Поліпшено підтримку використання коду, в якому застосовуються елементи стандарту C++20. Додані класи Qt::{strong,weak,partial}_ordering з реалізацією типів std::*_ordering, сумісних зі специфікацією C++17, а також макроси, які розкриваються в оператор тристороннього порівняння «» при складанні компіляторами, що підтримують C++ 20 (якщо компілятор підтримує лише C++17, макроси відкочуються використання звичайних операторів).

    Надано можливість використання шаблону класу std::span для представлення безперервної послідовності об'єктів, який для систем C++17 замінюється на клас QSpan. Продовжено роботу з реалізації підтримки бібліотеки std::chrono у різних API Qt. Наприклад, таймати в API Qt Network тепер описуються з використанням типів std::chrono і задаються у формі літералів, таких як "5s" для позначення 5 секунд.

  • Продовжено розвиток експериментального модуля Qt Graphs, призначеного для побудови різних видів графіків та візуалізації великих колекцій даних, що швидко змінюються. Модуль розвивається як універсальна заміна старого модуля Qt DataVisualization, зав'язаного OpenGL, і модуля Qt Charts. Новий модуль використовує Qt Quick 3D і двигун рендерингу RHI (Rendering Hardware Interface), що підтримує різні 3D API (OpenGL, Vulkan, Metal та Direct 3D). У новій версії на додаток до 3D-візуалізації додано підтримку двовимірних кругових та лінійних графіків, а також діаграм розсіювання. Забезпечено інтеграцію з доступними в Qt Quick засобами анімації та ефектами. Додано підтримку тем оформлення. Проведено модернізацію архітектури, що дозволило знизити кількість операцій виділення пам'яті.
    Реліз фреймворку Qt 6.7 та середовища розробки Qt Creator 13
  • Додані нові класи QHttpHeaders, QNetworkRequestFactory, QRestAccessManager та QRestReply для розробки клієнтських програм, що використовують API на базі HTTP та архітектури REST (REpresentational State Transfer).
  • Розширено можливості модуля Qt GRPC, що дозволяє звертатися до сервісів gRPC. У Qt gRPC додано нові класи для клієнтських, серверних та двонаправлених потокових викликів, що дозволяють організувати обмін повідомленнями з автоматичною активацією при зміні значень. Запропоновано API Interceptor для прикріплення callback-обробників для вибраних повідомлень gRPC, які можна використовувати, наприклад, для організації журналу або кешування.
  • Модуль Qt Protobuf, призначений для виконання серіалізації Qt-класів, використовуючи протокол Protocol Buffer, додає можливість серіалізації у формат JSON або з нього.
  • У модуль векторної графіки Qt SVG додано підтримку елементів SVG 1.1 і 2.0, що часто використовуються в SVG-зображеннях на практиці ( , , , і ), що дозволяє відображати більшість файлів SVG. Для тих, кому необхідна повна підтримка SVG 2.0, пропонується використовувати модуль Qt WebEngine. Додана утиліта svgtoqml для перетворення SVG у QML для імпорту векторної графіки безпосередньо у граф сцени Qt Quick. Стабілізовано можливість використання модуля Qt Quick Shapes для високоякісного відтворення кривих за допомогою фрагментного шейдера.
  • Додано підтримку варіативних шрифтів, в яких товщина, ширина та інші стилістичні характеристики гліфу можуть довільно змінюватися. Додано підтримку бібліотек піктограм. При використанні виклику QIcon::fromTheme реалізовано можливість зіставлення імені піктограми із символом у бібліотеці піктограм.
  • Надано можливість вбудовування рідних для поточної платформи вікон у сцену Qt Quick, що дозволяє задіяти в інтерфейсі на базі Qt Quick елементи інтерфейсу, що надаються платформою, наприклад можна вбудувати AppKit MapView або Windows Media player.
    Реліз фреймворку Qt 6.7 та середовища розробки Qt Creator 13
  • Додана підтримка додавання до програми на базі Qt Quick або Qt Widgets коду відтворення, що використовує будь-який підтримуваний Qt графічний API (Vulkan, OpenGL, Direct3D, Metal). Додавання здійснюється за допомогою класів QRhiQuickItem та QRhiWidget.
  • Забезпечено повну підтримку платформ macOS 14, iOS 17, Windows 11 23H2, Android 14, RHEL 9.2, openSUSE 15.5, SUSE Linux Enterprise Server 15. Додані збірки для Windows, зібрані за допомогою інструментарію MinGW на базі LLVM. Додані попередні збірки для архітектури ARM (для Windows та Linux), для платформи VxWorks 7 та QNX 7.1.
  • Оновлено стек Boot2Qt, який може використовуватися для створення мобільних систем, що завантажуються з оточенням на базі Qt і QML. Системне оточення Boot2Qt оновлено до платформи Yocto 4.3.
  • Додано нові приклади додатків. Приклад Lightning Viewer, що використовує Qt Location і Qt Quick Controls для візуалізації даних про грозах на карті. Нова демонстрація OSM Buildings, що використовує Qt Quick 3D, Qt Positioning та Qt Network для створення 3D-карти будівель на основі інформації з OpenStreetMap. У прикладі Virtual Assistant продемонстровано можливості роботи з 3D-анімацією. У прикладі Volumetric rendering показано використання 3D-текстури в Qt Quick 3D для об'ємного трасування променів. Повністю перероблено приклад StocQt, що використовує Qt Graphs для показу даних про біржові котирування.
    Реліз фреймворку Qt 6.7 та середовища розробки Qt Creator 13

Додатково можна відзначити публікацію інтегрованого середовища розробки Qt Creator 13.0, призначеного для створення кроссплатформенних програм з використанням бібліотеки Qt. Підтримується як розробка класичних програм мовою C++, і використання мови QML, у якому визначення сценаріїв використовується JavaScript, а структура і параметри елементів інтерфейсу задаються CSS-подібними блоками. Готові збірки сформовані для Linux, Windows та OS.

В новой версії:

  • Додані offline-і online-інсталятори для ARM-систем з Linux.
  • Оновлено оформлення інтерфейсу Welcome to Qt Creator, у якому з'явилася підтримка темних та світлих тем.
    Реліз фреймворку Qt 6.7 та середовища розробки Qt Creator 13
  • Покращено інтерфейс для переміщення панелей, що використовується в режимі налагодження та створення віджетів (Widget Designer). Для вертикальних панелей додано підтримку тимчасового згортання. Надано можливість вільного переміщення панелей за їх заголовок без попереднього відключення закріплення.
    Реліз фреймворку Qt 6.7 та середовища розробки Qt Creator 13
  • Додано підтримку створення, розгортання, запуску та налагодження програм для пристроїв, на яких використовується Qt Application Manager (для програм на базі Qt 6 та CMake).
  • Додано часткову підтримку iOS 17.
  • Змінено стандартний каталог, для якого тепер використовується підкаталог «build» в коді проекту. Змінити складальний каталог можна за допомогою параметрів «Preferences > Build & Run > Default Build Properties > Default build directory».
  • У режимі проекту додано секцію «Vanished targets», в якій відображаються kit-набори (прив'язки до різних складальних інструментарій та версій Qt), які вже недоступні, і надається можливість створення заміни або використання під час складання, розгортання та запуску іншого існуючого kit-набору.
  • Надано можливість створення kit-наборів для проектів мовою Python (для вибору іншої версії інтерпретатора).
  • Додано можливість використання серверів LSP (Language Server Protocol) для YAML, JSON та Bash.
  • У редакторі коду забезпечено підтримку переходу з компонентів QML до пов'язаного з ними коду на C++.
  • Проведено реорганізацію налаштувань ClangFormat. Для зміни власних налаштувань надано текстовий редактор параметрів із перевіркою синтаксису.
    Реліз фреймворку Qt 6.7 та середовища розробки Qt Creator 13

Джерело: opennet.ru

Додати коментар або відгук