Evgenii Legotckoi
Evgenii LegotckoiҚаң. 25, 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 примеры .

Communication и Networking

Qt Serialbus сейчас внедрена полностью в Qt 5.8. Это позволяет использовать Qt API для связи и протоколам по последовательным интерфейсамs. В то время, как существует множество различных 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 хостинг.

Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!

Пікірлер

Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
Кіріңіз немесе Тіркеліңіз
AD

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

  • Нәтиже:50ұпай,
  • Бағалау ұпайлары-4
m
  • molni99
  • Қаз. 26, 2024, 1:37 Т.Ж.

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

  • Нәтиже:80ұпай,
  • Бағалау ұпайлары4
m
  • molni99
  • Қаз. 26, 2024, 1:29 Т.Ж.

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

  • Нәтиже:20ұпай,
  • Бағалау ұпайлары-10
Соңғы пікірлер
ИМ
Игорь МаксимовҚар. 22, 2024, 11:51 Т.Ж.
Django - Оқулық 017. Теңшелген Django кіру беті Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
Evgenii Legotckoi
Evgenii LegotckoiҚаз. 31, 2024, 2:37 Т.Қ.
Django - Сабақ 064. Python Markdown кеңейтімін қалай жазуға болады Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
A
ALO1ZEҚаз. 19, 2024, 8:19 Т.Ж.
Qt Creator көмегімен fb3 файл оқу құралы Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Игорь МаксимовҚаз. 5, 2024, 7:51 Т.Ж.
Django - Сабақ 064. Python Markdown кеңейтімін қалай жазуға болады Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas5Шілде 5, 2024, 11:02 Т.Ж.
QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Енді форумда талқылаңыз
m
moogoҚар. 22, 2024, 7:17 Т.Ж.
Mosquito Spray System Effective Mosquito Systems for Backyard | Eco-Friendly Misting Control Device & Repellent Spray - Moogo ; Upgrade your backyard with our mosquito-repellent device! Our misters conce…
Evgenii Legotckoi
Evgenii LegotckoiМаусым 24, 2024, 3:11 Т.Қ.
добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
t
tonypeachey1Қар. 15, 2024, 6:04 Т.Ж.
google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
NSProject
NSProjectМаусым 4, 2022, 3:49 Т.Ж.
Всё ещё разбираюсь с кешем. В следствии прочтения данной статьи. Я принял для себя решение сделать кеширование свойств менеджера модели LikeDislike. И так как установка evileg_core для меня не была возможна, ибо он писался…

Бізді әлеуметтік желілерде бақылаңыз