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
- Added uniqueId() and rotation() to QTouchEvent.
- Added support for dithering when converting to all QImage formats.
- Made the QOpenGLTextureBlitter API public; used particularly in Qt Wayland.
- Added capHeight() to QFontMetrics, QFontMetricsF, and QRawFont.
- Added selection handles on Android, with an edit menu for copy and paste.
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
, andFolderDialog
.
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: