Трохи випереджаючи раніше запланований графік, сьогодні (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 і віджети
Велику увагу 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 і Qt Quick Controls
У Qt Quick була розширена підтримка завантаження стислих текстур в елементи зображення та розширена підтримка форматів .ktx and .pkm. Ця функція допомагає скоротити час завантаження та споживання пам'яті, зберігаючи знімки у форматі, який безпосередньо надсилається до GPU.
Qt Quick Controls 2 отримав безліч невеликих функцій та виправлень помилок. Наприклад авто-поворот властивостей для кнопок, покращено позиціонування прокручування та покращено підтримку стилів для SpinBoxes.
Розташування Qt
У 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. Перший випуск заплановано на червень.
Здорово.
Статика что-ли?
Обычно я просто ставил новую версии из 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
Как такие вещи лечить и обходить?
У меня таких проблем не возникало. Полагаю, что это просто проблемы с доступностью через Интернет. Причём последнее время это характерно для Российских пользователей (ну вы вкурсе благодаря чем и кому).
Тут только зеркала пробовать использовать.
Я из Украины. :-)
Пардон, тогда не знаю, что да как так с доступностью интернета в Украине.
Как то два дня игрался. толку ноль. скачал оффлайн инсталятор. :-)
Понятно :-) Тогда не знаю... страну менять)) Я вот в Прагу переехал.
Ну раз еще со стороны Qt грабли, то это последняя капля. :-)