Выпуск Qt 5.11

Qt, Releases

Немного опережая ранее запланированный график, сегодня (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. Первый выпуск планируется на июнь.

Virtual hosting with 10 percent discount
Virtual hosting with 10 percent discount
EVILEG offers reliable hosting with a 10% discount for virtual hosting and 5% for VPS
Support the author Donate

Здорово.

В связи этим вопрос.
Как наиболее быстро переходить на новые версии Qt?
Кроме удаления старой версии. установки новой, переборки библиотек есть еще варианты?

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

А как иначе собственно? ))

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

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

Я имел ввиду не статическую сборку а оффлайн инсталятор. Онлайн уж очень часто достает вот таким:
Не удалось загрузить архив «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

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

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

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

Попутно вопрос, где настраивается зеркала. Германские зеркала у нас идут на ура.

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

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

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

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

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

Comments

Only authorized users can post comments.
Please, Log in or Sign up
N
June 25, 2019, 2:41 p.m.
Nico03

C++ - Test 001. The first program and data types

  • Result:40points,
  • Rating points-8
S
June 25, 2019, 9:16 a.m.
SabaNtuy

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:40points,
  • Rating points-8
SZ
June 24, 2019, 5:49 p.m.
Serg Zhi

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

  • Result:78points,
  • Rating points2
Last comments
June 24, 2019, 10:23 a.m.
Евгений Легоцкой

Хорошо, ну будут проблемы помимо того, что касается статей, то не стесняйтесь задавать вопросы на форуме.
МБ
June 24, 2019, 10:21 a.m.
Михаил Булатов

Извиняюсь, все работает(из-за невнимательности).
June 24, 2019, 9:52 a.m.
Евгений Легоцкой

Придётся делать ещё сигнал в дочернем qml и пробрасывать через коннекты и обработчики. А вообще нужно смотреть конкретный код и что вы пытаетесь сделать. Так что лучше будет, если вы зад...
June 21, 2019, 8:31 a.m.
Ruslan Polupan

Вот моя строка по которой все отлично сработало %cqtdeployer% -bin c:/CentralMposKeys/CentalMposKeys.exe -qmake c:/Qt/5.12.2/mingw73_64/bin/qmake.exe
June 21, 2019, 8:24 a.m.
Андрей Янкович

Возможно кому то пригодится сqtdeployer для windows работает точно так же как и для Linux разница лишь в команде запуска Linux: cqtdeployer Windows: %cqtdeployer...
Now discuss on the forum
June 25, 2019, 6:16 p.m.
Алексей Внуков

только через webengine, прямого апи у Яндекса нет, вроде что-то есть у гугла, сам только начал интересоваться этим вопросом
June 25, 2019, 5:05 p.m.
Михаиллл

Само заработало. Странно.
June 25, 2019, 2:32 p.m.
Михаиллл

Похоже глюк вебсокета. К другим вебсокетам подключаюсь.
June 25, 2019, 1:55 p.m.
Андрей Янкович

падало потому что boolStatus был на стеке метода, после завершения метода переменная убивалась, и на обращении к ней было падение.просто сделай вот так: connect(&t, &QTimer::timeou...
June 25, 2019, 10:55 a.m.
IscanderChe

По пункту 3 попытался переписать метод setData. В итоге комбобокс перестал работать. bool MySqlTableModel::setData(const QModelIndex& index, const QVariant& value, int /* role */){...
Looking for a Job?
10,000.00 руб. - 15,000.00 руб.
Нужен помощник для создания API.
Moscow, Moscow, Russia
25,000.00 руб. - 30,000.00 руб.
Разработчик Qt/C++
Barnaul, Altai Krai, Russia

For registered users on the site there is a minimum amount of advertising

EVILEG
About
Services
Join us
© EVILEG 2015-2019
Recommend hosting TIMEWEB