Evgenii Legotckoi
Evgenii Legotckoi25 січня 2017 р. 10: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
AD

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:50бали,
  • Рейтинг балів-4
m
  • molni99
  • 26 жовтня 2024 р. 01:37

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:80бали,
  • Рейтинг балів4
m
  • molni99
  • 26 жовтня 2024 р. 01:29

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:20бали,
  • Рейтинг балів-10
Останні коментарі
ИМ
Игорь Максимов22 листопада 2024 р. 11:51
Django - Підручник 017. Налаштуйте сторінку входу до Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
Evgenii Legotckoi
Evgenii Legotckoi31 жовтня 2024 р. 14:37
Django - Урок 064. Як написати розширення для Python Markdown Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
A
ALO1ZE19 жовтня 2024 р. 08:19
Читалка файлів fb3 на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Игорь Максимов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 аналогично. Могу предположить, что из-за более новой верси…
Тепер обговоріть на форумі
Evgenii Legotckoi
Evgenii Legotckoi24 червня 2024 р. 15:11
добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
t
tonypeachey115 листопада 2024 р. 06:04
google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
NSProject
NSProject04 червня 2022 р. 03:49
Всё ещё разбираюсь с кешем. В следствии прочтения данной статьи. Я принял для себя решение сделать кеширование свойств менеджера модели LikeDislike. И так как установка evileg_core для меня не была возможна, ибо он писался…
9
9Anonim25 жовтня 2024 р. 09:10
Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…

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