Slightly ahead of schedule, Qt 5.11 was released today (May 22, 2018). As always, the new release adds a lot of new features and fixes a lot of bugs from previous versions. Let's take a look (tell) about the most interesting new features (features).
Qt Core и Network
A lot of work has been done on fine details in Qt Core. For example, some of the tool classes have received new rbalue overloadable argument references, and missing methods have been added for better STL compatibility. Model elements received several new features.
In Qt Network, ALPN and HTTP/2 now support iOS. QNetworkRequest received an Http2DirectAttribute to start an HTTP/2 connection without prior negotiation.
One of the biggest updates has been unicode support in Qt Core. QChar, QString, QTextBoundaryFinder, and the bidi algorithm are now fully compatible with Unicode 10.
Qt GUI and Widgets
A lot of attention in Qt 5.11 was given to access support on Windows. It has been completely redesigned and is now based on Microsoft UI Automation rather than the old Microsoft Active Accessibility framework, greatly improving the Windows accessibility experience. A lot of work has also gone into improving the look and feel on Windows to better support high resolution displays. The print dialog on Linux has been redesigned to show improved support for all CUPS options provided. Qt Widgets has received numerous bug fixes and support for quick mouse selection in QLineEdit. All this is a good upgrade for all users.
Qt QML
Big changes have also taken place with the QML engine. The compiler pipeline that parses and compiles QML has been completely rewritten. The new pipeline brought performance and maintainability improvements.
The new compiler pipeline always compiles QML in platform-independent bytecode. The engine caches this bytecode into qmlc files. You can also generate the bytecode ahead of time using the qmlcompiler compiler feature (which is now also available in the open source version).
The new bytecode interpreter has greatly improved performance over the old version. Test tasks pass in 80-90% of the time from JIT Qt 5.10. A new JIT compiler has been added, which is noticeably better than the old version.
Qt Quick and Qt Quick Controls
Qt Quick has extended support for loading compressed textures into image elements and extended support for the .ktx and .pkm formats. This feature helps reduce loading time and memory consumption by saving snapshots in a format that is directly sent to the GPU.
Qt Quick Controls 2 received many small features and bug fixes. For example, auto-rotate properties for buttons, improved scroll positioning, and improved styling support for SpinBoxes.
Qt Location
There have also been a lot of changes in Qt Location. The biggest changes are related to experimental support for turn-by-turn navigation. But there are other changes as well. QtLocation now has an experimental API for creating map objects that are not bound to a QQuickItem. The performance of MapPolyline objects has been greatly improved, and layers now work in conjunction with map elements. In addition, an extensible routing and positioning API has been made and new waypoints have been added. Finally, the MapBox plugin received support for geocoding and positioning.
Qt Webengine
As has become standard in Qt releases, Chromium under QtWebengine has been upgraded to Chromium 65. In addition, built-in DevTools are now supported without requiring a separate browser, setting a cookie filter, and allowing quotas.
Qt for device development
All the new functionality mentioned above is of course also available in Qt to create a device. In addition, work is underway to improve some built-in functions.
One of the new features here is support for hardware graphics layers, currently available as a technology preview for platforms that support VSP2 hardware compositing. This can be used for features like video underlays (by layers) and helps improve performance and lower power consumption. Qt Company is also looking to expand the number of supported platforms and hardware combinations in future releases.
Qt SerialBus has received improved CAN bus support. The KNX module has received several major updates. Also, Qt 5.11 will have a new module that adds support for OPC/UA. This module is available for technology preview in Qt 5.11.
Other improvements
qdoc now uses libclang for C++ parsing, giving better support for modern C++ in the documentation. Qt Serialbus and Bluetooth have now improved support for CAN and BTLE buses. Support for some older compilers and platforms has been removed from Qt 5.11. MSVC2013, QNX 6.6 and mac OS 10.10 are no longer supported.
Qt 3D and Qt 3D Studio
Hard work is underway on the second release of Qt 3D Studio. This second release comes with a completely rewritten runtime that will be based on qt3d. This will give everyone better and deeper integration into the rest of Qt when using Qt 3D Studio to create 3D interfaces. Through this work, Qt 3D also received many new features, performance improvements, and bug fixes. Qt 3D Studio 2.0 is currently in beta testing and Qt Company is working hard to get a final release within the next few weeks.
Qt for Webassembly and Python
With Qt for Webassembly, work is underway to fill the last big gap in cross-platform history by allowing users to target the web and browsers as the platform for Qt applications. The first version was released as a technology preview. In addition to the above, Qt Company is actively working on supporting Qt in Python. The first release is scheduled for June.
Здорово.
Статика что-ли?
Обычно я просто ставил новую версии из 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 грабли, то это последняя капля. :-)