What's New in Qt 5.8

New Features in Qt 5.8

Qt Core Module

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