© EVILEG 2015-2018
Рекомендует хостинг
TIMEWEB

Выпуск 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. Первый выпуск планируется на июнь.

Комментарии

29 мая 2018 г. 10:04

Здорово.

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

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

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

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

29 мая 2018 г. 11:15

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

29 мая 2018 г. 11: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

29 мая 2018 г. 11:45

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

29 мая 2018 г. 11:50

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

29 мая 2018 г. 11:53

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

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

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

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

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

29 мая 2018 г. 12:11

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

29 мая 2018 г. 12:26

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

Комментарии

Только авторизованные пользователи могут оставлять комментарии.
Пожалуйста, Авторизуйтесь или Зарегистрируйтесь
20 августа 2018 г. 9:14
nayk1982

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

  • Результат 86баллов,
  • Очки рейтинга6
20 августа 2018 г. 9:07
nayk1982

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

  • Результат 84баллов,
  • Очки рейтинга4
19 августа 2018 г. 10:43
Виктор Попов

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

  • Результат 78баллов,
  • Очки рейтинга2
Последние комментарии
20 августа 2018 г. 17:02
Евгений Ереметько

Qt/C++ - Урок 027. Полиморфизм в Qt на примере геометрических фигур в QGraphicsScene

Добрый день, начал только изучать Qt C++. Никак не могу понять, как удалять последний созданный элемент. Заранее спасибо.
17 августа 2018 г. 15:47
Евгений_Канусовский@1981

PyQt5 - Урок 003. QSystemTrayIcon - Как свернуть приложение в трей

Решение проблемы нашел в интернете)) Лечится так:File - Settings - Project:{name_my_project} - Project Interpreter - устанавливаем нужную нам версию интерпретатора(python 3.6.2 например) -...
16 августа 2018 г. 17:20
Евгений_Канусовский@1981

PyQt5 - Урок 003. QSystemTrayIcon - Как свернуть приложение в трей

Добрый вечер Евгений и форумчане! Не подскажите почему в при запуске данного кода в PyCharm выдаётся сообщение: "ModuleNotFoundError: No module named 'PyQt5'"?
10 августа 2018 г. 13:40
Alex

Работа с триггерными функциями в PostgreSQL

Приветствую! Если вы создаете новую таблицу, почему бы просто не сделать вьюху ? Просто от одного названия "триггер" как-то не хочется его использовать, а уж кода сколько писа...
Сейчас обсуждают на форуме
20 августа 2018 г. 13:18
LittleTux

Странное поведение сингелтона, а может быть, и не в нем проблема...

Лучше возвращать ссылку на экземпляр класса:PaletteUtils& PaletteUtils::instance(){ static PaletteUtils _instance; return _instance;}и если уж делать singleton, то хорошо было ...
20 августа 2018 г. 6:45
LittleTux

Как правильно сбросить позицию touchscreen в 0, как это делается с курсором QCursor::setPos(0,0)?

Ранее не сталкивался с разработкой под устройства с touchscreen, но вот наступило такое время... и возникла проблема: есть у нас mainWidget, на нем лежит stackwidget, в котором есть пару видже...
19 августа 2018 г. 12:38
Alex

Подключение карты через плагин OSM. С localhost Qt/QML

наткнулся на возможное решение, конкретно для geoserver'a http://localhost/gwc/tms/1.0.0/gis:service@EPSG%3A900913@png/{z}/{x}/{-y}.png
17 августа 2018 г. 20:35
Чарльз Грин

Как вывести видео на 2 QVideoWidget?

Есть прога, в ней qvideowidget предпросмотр, а нужно, чтоб с этого же плеера видео выводилось и на второй монитор одновременно и управлялось одними эл. управления. Подскажите пожалуйста как эт...
17 августа 2018 г. 8:52
nayk1982

Помогите разобраться с версиями библиотек, компиляторов короче запутался с этим Qt

https://www.qt.io/download-qt-installer   - Качайте Online инсталлятор под нужную ОС и устанавливайте через него нужные версии библиотек.

Рекомендуемые страницы