Evgenii Legotckoi
Evgenii Legotckoi25 січня 2017 р. 21:07

Випущено Qt 5.8

23 січня Qt Company анонсувала випуск Qt 5.8, з низкою нововведень, які мають досить глобальний характер. Давайте ознайомимося з ними.

Qt Lite

Однією з головних тематик Qt 5.8 стало зробити так, щоб Qt був більш гнучким та легким до адаптації до цілей користувачів, зокрема для розробників систем, що вбудовуються. Qt Lite є кодовим ім'ям проекту, метою якого є впровадження цих цілей.

Метою розробників Qt Company стало зробити Qt простіше у налаштуванні під потреби розробників з уникненням використання функціоналу, який не потрібний у проекті. Це приносить значну економію в розмірі скомпілованих бібліотек Qt і програми, що розробляється.

Система, що впроваджується, є довгою подорожжю, де була переписана значна частина системи, яка відповідає за конфігурування Qt. Ця нова система очищена від того, що наросло протягом останніх 15 років, і це також може призвести до невідповідностей з тим, як Qt був налаштований на різних платформах.

Як результат, отримано одну уніфіковану систему для налаштування різних частин Qt. На додаток користувачам дається гнучкіша в налаштуванні бібліотека Qt. І також покликана полегшити тягар розробників Qt Company у підтримці всіх різних способів налаштування та використання Qt.


Використання нової системи дозволить створити складання Qt, яке підходить для конкретного випадку. Можна буде відмовитися від того функціонала, який не потрібно, що дозволить зберегти ПЗУ та ОЗУ при розгортанні програми на пристрої, що вбудовується. Щоб показати ідею про можливості збереження ресурсів, наведено нижче зображення, яке показує запити Qt стека при запуску невеликої програми на QML:

Як ви можете бачити, нова система налаштування дозволяє значно зменшити розмір та зберегти більш ніж 60% у розмірі бінарника порівняно з Qt 5.6.

Qt Wayland Compositor

API Qt Wayland Compositor , яке було включено як технологія на попередньому ревью в Qt 5.7, тепер повністю підтримується в Qt 5.8. Модуль дозволяє легко створювати власний Wayland Compositor.

Qt Wayland Compositor дозволяє легко впроваджувати ваш власний домашній екран (home screen) та менеджер додатків. Це дозволяє створення потужних і гнучких вбудовуваних систем, де Ви маєте кілька додатків, які мають свої власні інтерфейси користувача. Qt Wayland Compositor підтримує обробку кілька екранів легкими та прозорими способами. Це можливо як з QML, так і з C++ API.

Для більш детальної інформації дивіться API documentation та and приклади .

Зв'язок і Мережа

Qt Serialbus зараз впроваджена повністю в Qt 5.8. Це дозволяє використовувати Qt API для зв'язку та протоколів за послідовними інтерфейсами. У той час як існує безліч різних API, ця версія включає CAN і Modbus.

Qt Network та Web Sockets повністю підтримують TLS PSK. Qt Network зараз підтримує параметри Diffie-Hellman і HTTP/2 в QNetworkAccessManager .

Qt Bluetooth підтримує периферійні пристрої BTLE під macOS та iOS, а також підтримує центральні пристрої BTLE у WinRT.

У Qt 5.8 також доданий новий модуль Qt Network Authorization як попередня технологія на попередньому рев'ю, і в даний момент підтримує OAuth 1 і 2 схеми аутентифікації.

Qt QML і Quick

Досить багато речей сталося в Qt QML та Qt Quick. Двигун QML отримав підтримку кешування бінарних даних QML і JS на диску, що знижує швидкість запуску та споживання пам'яті двигуном. Тільки комерційна версія компілятора Qt Quick поки що підтримується Qt 5.8, але планується вливання цих змін у майбутньому для поліпшення продуктивності та більш інтегрованих рішень.

Qt Quick scene graph зазнала значних змін, що дозволяє зменшити залежність від OpenGL. Це дозволяє додати експериментальну підтримку бекенда Direct3D 12 для Qt Quick, а включити створення інших бекендів, що базуються, наприклад, на Vulkan Graphics API.

На додаток, зараз графічна сцена підтримує часткове оновлення екрана, якщо мала частина була змінена. Це дає трохи більшу продуктивність для Qt Quick 2D малювання.

Також ці зміни в графічній сцені представлені як можливість перенести функціонал малювання Qt Quick 2D безпосередньо в Qt Quick. Це означає, що відмальовувача Qt Quick 2D більше не існує, як окремого модуля Qt 5.8.

Великі зміни були зроблені також під капотом обробки подій від миші та сенсорних подій, поєднуючи їх у новому класі QQuickPointerEvent. Це закладає основу для майбутнього поліпшення обробки подій миші та сенсора, але не впливає на код, що використовує Qt Quick.

Qt Quick Controls 2 також отримали кілька нових типів, таких як діалогові вікна, округлі кнопки та роздільники інструментів. Стилі Material та Universal деякі нові ефекти та підтримку системної теми.

Qt Webengine

Як завжди версія Chromium, використовується Qt Webengine була оновлена до версії 53. Однією важливою рисою є додавання підтримки друку Web сторінок. Також було додано багато невеликих функціональних змін, серед них новий QML API для визначення діалогів, спливаючих підказок і контекстних меню, і підтримка перегляду вихідного коду сторінка.

Qt SCXML

Qt SCXML повністю підтримує Qt 5.8. Модуль робить тривіальну інтеграцію SCXML засновану на машині станів Qt. Це спирається безпосередньо на Qt Statemachine Framework і розширює його як з SCXML так і з C++ компілятором і запуском в рантаймі, який дозволяє завантаження SCXML заснований на машині станів.

Разом з модулем Qt SCXML Qt Creator 4.2 отримав підтримку редагування графіків станів.

Нові технології у попередньому розгляді

Також Qt 5.8 має новий функціонал, який був обраний як технології на попередньому розгляді.

Qt зараз компілюється як Apple TV, так watchOS. У той же час значна частина функціоналу, що підтримується на iOS, також повинна працювати і на tvOS, watchOS підтримка обмежена не графічним функціоналом Qt.

Qt Speech доданий як новий модуль для підтримки перетворення тексту на мову.

Інші покращення

Після первинного випуску Qt 3D з Qt 5.7, сили були сфокусовані на доробці модуля. Було зроблено велику кількість виправлень та покращення продуктивності для цього модуля.

Qt Charts отримали графіки типу Candlestick (Японська свічка), а також зроблено API QOpenGLTextureBlitter API у публічному Qt Gui.

Вбудовувані платформи підтримали Qt для створення пристроїв із кращою підтримкою багатоекранної системи з використанням eglfs QPA плагіна та підтримкою екранів з розгорткою на 90/180 градусів.

Нарешті, багато змін відбулися базовому коді поліпшення використання функціоналу, запропонованого C++11.

Источник Qt Blog

Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Стабільний хостинг, на якому розміщується соціальна мережа EVILEG. Для проектів на Django радимо VDS хостинг.

Вам це подобається? Поділіться в соціальних мережах!

Коментарі

Only authorized users can post comments.
Please, Log in or Sign up
МВ

Qt - Тест 001. Сигналы и слоты

  • Результат:68бали,
  • Рейтинг балів-1
ЛС

C++ - Тест 001. Первая программа и типы данных

  • Результат:53бали,
  • Рейтинг балів-4
АА

C++ - Тест 001. Первая программа и типы данных

  • Результат:60бали,
  • Рейтинг балів-1
Останні коментарі
ИМ
Игорь Максимов05 жовтня 2024 р. 07:51
Django - Урок 064. Як написати розширення для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas505 липня 2024 р. 11:02
QML - Урок 016. База даних SQLite та робота з нею в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
k
kmssr08 лютого 2024 р. 18:43
Qt Linux - Урок 001. Автозапуск програми Qt під Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Анатолий Кононенко05 лютого 2024 р. 01:50
Qt WinAPI - Урок 007. Робота з ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
EVA
EVA25 грудня 2023 р. 10:30
Boost - статичне зв&#39;язування в проекті CMake під Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
Тепер обговоріть на форумі
K
Keithfap13 жовтня 2024 р. 09:24
добавить qlineseries в функции North Symbol by Bubnov Ltd https://seven-elephants.com/en/categories/penthouse/ Искеле – жемчужина острова! Все факторы говорят про большой инвестиционный потенциал данного района как для …
ИМ
Игорь Максимов03 жовтня 2024 р. 04:05
Реализация навигации по разделам Спасибо Евгений!
JW
Jhon Wick01 жовтня 2024 р. 15:52
Indian Food Restaurant In Columbus OH| Layla’s Kitchen Indian Restaurant If you're looking for a truly authentic https://www.laylaskitchenrestaurantohio.com/ , Layla’s Kitchen Indian Restaurant is your go-to destination. Located at 6152 Cleveland Ave, Colu…
КГ
Кирилл Гусарев27 вересня 2024 р. 09:09
Не запускается программа на Qt: точка входа в процедуру не найдена в библиотеке DLL Написал программу на C++ Qt в Qt Creator, сбилдил Release с помощью MinGW 64-bit, бинарнику напихал dll-ки с помощью windeployqt.exe. При попытке запуска моей сбилженной программы выдаёт три оши…
F
Fynjy22 липня 2024 р. 04:15
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …

Слідкуйте за нами в соціальних мережах