Evgenii Legotckoi
Evgenii Legotckoi27 мая 2018 г. 5:46

Выпуск Qt 5.11

Немного опережая ранее запланированный график, сегодня (22 мая 2018 г.) был выпушен новый релиз Qt 5.11. Как всегда, в новый релиз добавлено большое количество новых функций и исправлено много багов предыдущих версий. Давайте рассмотрим (расскажем) о наиболее интересных новых функциях (возможностях).


Qt Core и Network

Много работы было сделано над мелкими деталями в Qt Core. К примеру, некоторые из классов инструментов получили новые перегружаемые rbalue ссылки аргументов, также были добавлены отсутствующие методы для лучшей совместимости с STL. Элементы модели получили несколько новых функций.

В Qt Network, ALPN и HTTP/2 теперь поддерживают iOS. QNetworkRequest получил Http2DirectAttribute для запуска соединения HTTP/2 без предварительного согласования.

Одним из наибольших обновлений стала поддержка unicode в Qt Core. QChar, QString, QTextBoundaryFinder и алгоритм двунаправленного текста теперь полностью совместимы с Unicode 10.

Qt GUI и Widgets

Большое внимание в Qt 5.11 уделили поддержки доступа на Windows. Он был полностью изменен и теперь основан на Microsoft UI Automation, а не на старой Microsoft Active Accessibility framework, что существенно улучшило работу со специальными возможностями Windows. Много работы было проведено и над улучшением внешнего вида на Windows для лучшей поддержки дисплеев с высоким разрешением. Диалог печати на Linux был переработан и теперь показывает улучшенную поддержку всех предоставляемых вариантов CUPS. Qt Widgets получил многочисленные исправления и получил поддержку быстрого выделения текста мышью в QLineEdit. Всё это является хорошим обновлением для всех пользователей.

Qt QML

Большие изменения произошли и с движком QML. Полностью переписан конвейер компилятора, который анализирует и компилирует QML. Новый конвейер принес улучшения производительности и поддерживаемости.

Новый конвейер компилятора всегда компилирует QML в независимом от платформы байт-коде. Движок кэширует этот байт-код в файлы qmlс. Вы также можете создать байт-код заранее, используя функцию компилятора qmlcompiler (которая теперь также доступна в версии с открытым исходным кодом).

Новый интерпретатор байт-кода значительно улучшил производительность по сравнению со старой версией. Тестовые задания проходят за 80-90 % времени от JIT Qt 5.10. Был добавлен новый JIT-компилятор, который заметно лучше старой версии.

Qt Quick and Qt Quick Controls

В Qt Quick была расширенна поддержка загрузки сжатых текстур в элементы изображения и расширена поддержка форматов .ktx and .pkm. Эта функция помогает сократить время загрузки и потребление памяти, сохраняя снимки в формате, который напрямую направляются в GPU.

Qt Quick Controls 2 получил множество небольших функций и исправлений ошибок. Например авто-поворот свойств для кнопок, улучшено позиционирование прокрутки и улучшена поддержка стилей для SpinBoxes.

Qt Location

В Qt Location так же произошло множество изменений. Наибольшие изменения связаны с экспериментальной поддержкой для turn-by-turn навигации. Но есть и другие изменения. QtLocation теперь имеет экспериментальный API для создания объектов карты, которые не привязаны к QQuickItem. Производительность объектов MapPolyline значительно улучшилась, и теперь слои работают в сочетании с элементами карты. Кроме того сделан расширяемый API маршрутов и позиционирования и добавлены новые путевые точки. Наконец, плагин MapBox получил поддержку геокодирования и позиционирования.

Qt Webengine

Как стало стандартом в релизах Qt, была обновлена версия Chromium под QtWebengine до Chromium 65. Кроме того, теперь поддерживаеются встроенные DevTools, не требуя использования отдельного браузера, устанавливаемого фильтра cookie и разрешающих квот.

Qt для разработки устройств

Все новые функциональные возможности, упомянутые выше, конечно, также доступны в Qt для создания устройства. Кроме того, идёт работа над улучшением некоторых встроенных функций.

Одной из новых функций здесь является поддержка аппаратных графических слоев, доступных в настоящее время в качестве предварительного просмотра технологии для платформ, поддерживающих аппаратное композитирование VSP2. Это можно будет использовать для функций, как видео подложки (по-слоям) и помогает улучшить производительность и понизить энергопотребление. Так же в Qt Company стремятся расширить количество поддерживаемых платформ и аппаратных комбинаций в следующих выпусках.

Qt SerialBus получила усовершенствованную поддержку CAN шины. Модуль KNX получил несколько крупных обновлений. Кроме того, Qt 5.11 будет иметь новый модуль, который добавляет поддержку OPC/UA. Этот модуль доступен для предварительного просмотра технологии в Qt 5.11.

Другие улучшения

qdoc теперь использует libclang для анализа C++, что дает улучшенную поддержку современного C++ в документации. Qt Serialbus и Bluetooth теперь улучшили поддержку шин CAN и BTLE. Из версии Qt 5.11 была удалена поддержка некоторых старых компиляторов и платформ. MSVC2013, QNX 6.6 и mac OS 10.10 больше не поддерживаются.

Qt 3D и Qt 3D Studio

Идёт тяжелая работа над вторым релизом Qt 3D Studio. Этот второй выпуск поставляется с полностью переписанной средой выполнения, которая будет основана на qt3d. Это даст всем лучшую и более глубокую интеграцию в остальную часть Qt при использовании Qt 3D Studio для создания 3D интерфейсов. Благодаря этой работе Qt 3D также получила множество новых функций, улучшений производительности и исправлений ошибок. Qt 3D Studio 2.0 в настоящее время находится на бета-тестировании, и Qt Company прилагает все усилия, чтобы получить окончательный релиз в течение следующих нескольких недель.

Qt для Webassembly и Python

С Qt для Webassembly идёт работа над заполнением последнего большого пробела в кросс-платформенной истории, позволяя пользователям ориентироваться на веб и браузеры как платформу для приложений Qt. Первая версия была выпущена в качестве предварительного просмотра технологии. Кроме того, к вышесказанному, Qt Company активно работает над поддержкой Qt на Python. Первый выпуск планируется на июнь.

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

Вам это нравится? Поделитесь в социальных сетях!

Ruslan Polupan
  • 29 мая 2018 г. 6:04

Здорово.

В связи этим вопрос.
Как наиболее быстро переходить на новые версии Qt?
Кроме удаления старой версии. установки новой, переборки библиотек есть еще варианты?
Evgenii Legotckoi
  • 29 мая 2018 г. 6:17

Статика что-ли?
Обычно я просто ставил новую версии из Maintenance Tool, добавлял комплект сборки, пересобирал проект, если во время компиляции проблем не было, то удалял старую версию.

А как иначе собственно? ))
Ruslan Polupan
  • 29 мая 2018 г. 6:25

Статика. Просто с онлайн установкой постоянные проблемы со связью с репозитроиями.

Evgenii Legotckoi
  • 29 мая 2018 г. 7:15

Пересобирать придётся в любом случае. Вообще, насколько знаю, можно и просто git-репозиторий Qt использовать. Если вышел update, то сделать fetch, переключиться на нужную ветку и пересобрать статику. Думаю, что так вполне можно сделать.

Ruslan Polupan
  • 29 мая 2018 г. 7:44

Я имел ввиду не статическую сборку а оффлайн инсталятор. Онлайн уж очень часто достает вот таким:
Не удалось загрузить архив «http://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt5_5110_src_doc_examples/qt.qt5.5110.src/5.11.0-0-201805181208qtactiveqt-everywhere-src-5.11.0.7z»: Error transferring http://master.qt.io/online/qtsdkrepository/linux_x64/desktop/qt5_5110_src_doc_examples/qt.qt5.5110.src/5.11.0-0-201805181208qtactiveqt-everywhere-src-5.11.0.7z - server replied: Not Found

Ruslan Polupan
  • 29 мая 2018 г. 7:45

Как такие вещи лечить и обходить?

Evgenii Legotckoi
  • 29 мая 2018 г. 7:50

У меня таких проблем не возникало. Полагаю, что это просто проблемы с доступностью через Интернет. Причём последнее время это характерно для Российских пользователей (ну вы вкурсе благодаря чем и кому).
Тут только зеркала пробовать использовать.

Ruslan Polupan
  • 29 мая 2018 г. 7:53

Я из Украины. :-)

Попутно вопрос, где настраивается зеркала. Германские зеркала у нас идут на ура.
Evgenii Legotckoi
  • 29 мая 2018 г. 8:00

Пардон, тогда не знаю, что да как так с доступностью интернета в Украине.

Если запустите Maitenance Tool, то на самом первом шаге внизу слева есть кнопка Settings, там можно настроить репозитории и Proxy, в том числе можно добавлять репозитории. Я сам не проверял, но полагаю, что это может Вам помочь с настройкой зеркал.
Ruslan Polupan
  • 29 мая 2018 г. 8:10

Как то два дня игрался. толку ноль. скачал оффлайн инсталятор. :-)

Evgenii Legotckoi
  • 29 мая 2018 г. 8:11

Понятно :-) Тогда не знаю... страну менять)) Я вот в Прагу переехал.

Ruslan Polupan
  • 29 мая 2018 г. 8:26

Ну раз еще со стороны Qt грабли, то это последняя капля. :-)

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Дмитрий

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

  • Результат:60баллов,
  • Очки рейтинга-1
Дмитрий

C++ - Тест 003. Условия и циклы

  • Результат:92баллов,
  • Очки рейтинга8
d
  • dsfs
  • 26 апреля 2024 г. 4:56

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

  • Результат:80баллов,
  • Очки рейтинга4
Последние комментарии
k
kmssr8 февраля 2024 г. 18:43
Qt Linux - Урок 001. Автозапуск Qt приложения под Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Анатолий Кононенко5 февраля 2024 г. 1:50
Qt WinAPI - Урок 007. Работаем с ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
EVA
EVA25 декабря 2023 г. 10:30
Boost - статическая линковка в CMake проекте под Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
J
JonnyJo25 декабря 2023 г. 8:38
Boost - статическая линковка в CMake проекте под Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
G
Gvozdik18 декабря 2023 г. 21:01
Qt/C++ - Урок 056. Подключение библиотеки Boost в Qt для компиляторов MinGW и MSVC Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
Сейчас обсуждают на форуме
G
George137 мая 2024 г. 0:27
добавить qlineseries в функции в функции: "GPlotter::addSeries(QString title, QVector &arr)" я вызываю метод setChart(...), я в конструктор передал адрес на QChartView элемент
BlinCT
BlinCT5 мая 2024 г. 5:46
Написать свой GraphsView Всем привет. В Qt есть давольно старый обьект дял работы с графиками ChartsView и есть в 6.7 новый но очень сырой и со слабым функционалом GraphsView. По этой причине я хочу написать х…
PS
Peter Son3 мая 2024 г. 17:57
Best Indian Food Restaurant In Cincinnati OH Ready to embark on a gastronomic journey like no other? Join us at App india restaurant and discover why we're renowned as the Best Indian Food Restaurant In Cincinnati OH . Whether y…
Evgenii Legotckoi
Evgenii Legotckoi2 мая 2024 г. 14:07
Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Добрый день. По моему мнению - да, но то, что будет касаться вызовов к функционалу Андроида, может создать огромные трудности.
IscanderChe
IscanderChe30 апреля 2024 г. 4:22
Во Flask рендер шаблона не передаётся в браузер Доброе утро! Имеется вот такой шаблон: <!doctype html><html> <head> <title>{{ title }}</title> <link rel="stylesheet" href="{{ url_…

Следите за нами в социальных сетях