What's New in Qt 5.8

New Features in Qt 5.8

Qt Core Module

  • Added at(), operator[], mid(), right(), and left() functions to QLatin1String.

Qt GUI Module

Qt Quick Module

  • Refactored the Qt Quick scene graph to remove its OpenGL dependency, enabling backends based on other graphics APIs such as Vulkan or Direct3D.
  • Integrated the software renderer (previously known as the Qt Quick 2D Renderer) for Qt Quick as a proper scene graph backend.
  • Implemented support for partial updates in the software renderer.
  • Added an experimental Direct3D 12 backend.
  • Implemented caching of code and data structures generated from .qml and .js files to disk, reducing start-up time and memory consumption. The resulting .qmlc and .jsc cache files are memory mapped.
  • Cleaned up touch and mouse event delivery, and added a new internal class QQuickPointerEvent for this purpose.

Qt Quick Controls 2 Module

  • Added new QML types: Dialog, DialogButtonBox, MenuSeparator, RoundButton, and ToolSeparator.
  • Added ripple effects to the Material style.
  • Added hover effects to Material and Universal styles
  • Added a System theme to Material and Universal styles
  • Added new experimental platform QML types: MenuBar, Menu, SystemTrayIcon, ColorDialog, FontDialog, MessageDialog, FileDialog, and FolderDialog.

Qt WebEngine Module

  • Based on Chromium 53.
  • Updated requirements to MSVC 2015 Update 2 or later on Windows.
  • Added view-source scheme support.
  • Added support for spellchecking with custom .bdic files.
  • Made tooltips (HTML5 global tile attribute) visible.
  • Added support for metadata (@include, @exclude, @match, @name, and @run-at) in user scripts.
  • QML: Enabled the use of custom dialogs and context menus.
  • QML: on eglfs, took the built-in dialogs based on Qt Quick Controls 2 into use.
  • Added support for printing.
  • Added a setting to enable printing of CSS backgrounds.

Qt Bluetooth Module

  • Added Bluetooth Low Energy Peripheral support on macOS, iOS, and WinRT.

Qt Multimedia Module

  • Added QAudio::convertVolume() and a matching QML method to convert audio volumes from one scale to another; for example, from logarithmic to linear scale.
  • Added support for rendering YUV 4:2:2 (YUYV, UYVY) video frames to VideoOutput QML type.

Qt Network Module

  • Added support for TLS-PSK ciphersuites on server side.
  • Added support for configurable Diffie-Hellman parameters.
  • Added support for HTTP/2 in Network Access Manager.

Qt WebSockets Module

  • Added support for TLS-PSK ciphersuites on client and server side.

Qt Charts Module

  • Added a candlestick chart type.

Qt 3D Module

  • Focused on maturation: Bug fixes, improving performance and test coverage.
  • Added a paint to texture feature using QPainter.
  • Added optional support for issuing commands to Qt3D aspects (for example, from a profiler).

Embedded Platforms

  • Enhanced multi-screen capabilities and configurability with eglfs when running on KMS/DRM, both with GBM and EGLDevice/Stream.
  • Added support for 90 and 180 degrees rotation of software-rendered content (QWidget) in eglfs.

Configurability (Qt Lite Project)

  • Qt 5.8 comes with a rewritten configuration system that allows for easy customization of Qt builds. The main focus of this feature is for the Device Creation, but it can also be used to tailor a Qt build for mobile or desktop platforms. The new configuration system allows removing individual pieces of functionality and APIs from Qt, creating a more lightweight set of libraries for deployment.

New Modules

  • Qt Wayland Compositor
    • Provides a framework to develop a Wayland compositor.
  • Qt SCXML
    • Enables static and runtime integration of SCXML models into Qt code.
  • Qt Serial Bus
    • Provides access to various industrial serial buses and protocols, such as CAN and ModBus.

These modules were previously released as technology previews, and are now fully supported Qt add-on modules.

Technology Preview Modules

  • Qt Gamepad
    • Enables Qt gaming applications to respond to gamepad input.
  • Qt Speech
    • Text to speech and speech recognition functionality. Currently only the text to speech features are released. Includes backends for several speech synthesizers on Windows, Linux, macOS, and Android.
  • Qt Network Authorization
    • Online authorization support with OAuth protocol, versions 1 and 2.

Deprecated Functionality

  • Qt Script

Deprecated modules are still included in Qt 5.8, but are considered for removal in future releases.

Removed Functionality

  • Qt Quick 2D Renderer (functionality has been merged into Qt Quick).

List of API Changes

The pages below contain a list of API changes in Qt 5.8:

Additions to Other Qt 5 Releases

© 2019 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.