New Features in Qt 5.6

From Qt Wiki
Revision as of 12:34, 8 October 2015 by Marc Mutz (talk | contribs) (→‎New Features: reverse_iterator)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.


New Features

  • Qt Core
    • Reduced memory usage of dynamic properties
    • Allow logging directly to syslog on Linux systems
    • Added QStorageInfo::blockSize()
    • new QVersionNumber class
    • Added key_iterator to QHash and QMap
    • Added const_iterator QByteArray
    • Added reverse iterator support to all sequential containers
    • added QDir::listSeparator()
    • Lots of performance optimisations in QString
  • Qt Network
    • Added QHostAddress::isMulticast()
    • Support HTTP redirection in QNetworkAccessManager
  • Qt GUI
    • Improved cross-platform OpenGL ES 3.0 and 3.1 support to help the development of mobile/embedded apps utilizing GLES3 features.
    • Improved cross-platform high-dpi support.
    • Raster engine support for rendering internally with 16bits-per-color.
    • QImageReader now exports gamma values and other meta data for some image formats
  • Qt Widgets
    • Allow programmatic resizing of dock widgets
    • Allow dropping dock widgets into floating docks
    • Allow the user to re-arrange tabified docks
    • Allow horizontal scrolling using a mouse wheel in QListView
  • Qt Testlib
    • More stable input event handling
  • Qt Multimedia
    • New Playlist QML type.
    • New audio role API for the media player (C++ and QML)
    • Support for camera focus and video probe on WinRT
    • New functions in QML AudioEngine to support dynamic object creation
  • Qt WebEngine
    • Based on Chromium 45
    • Support for pepper plugins including Flash
    • Support for unbundling and linking with system libraries on Linux
    • Support for following global Qt proxy settings.
    • More WebActions from QtWebKit and WebAction API in QML.
    • New QtWebEngineCore module for shared low-level API
    • New core API for custom URL schemes
    • New core API for intercepting and blocking network requests
    • New core API for tracking or blocking cookies.
  • Qt QML
    • Support for writing JavaScript function names to Linux's perf output
    • Reduced overall memory comsumption
  • Font rendering
    • Optional support for using FreeType on Mac OS X
  • Embedded platforms
    • Added support for Intel Atom-based NUCs
  • Desktop platforms
    • Windows 10 fully supported (classic and WinRT app)
    • Windows Store apps are now composited inside a XAML layer, allowing for better integration with the native UI layer
  • Windows embedded
    • Added support for WEC2013
  • Qt WebView
    • Added support for WinRT
  • Qt Canvas3D
    • Support for using Qt Quick items as textures
    • Support for rendering directly to Qt Quick scene background or foreground
  • Qt Nfc
    • Added support for Android
  • Qt Positioning
    • Added support for OS X
    • Removed libgeoclue dependency for the GeoClue backend
  • Qt Location
    • Added the Qt Location module providing maps, navigation and places APIs for Qt Quick

Other Changes

  • Class Mechanics
    • All implicitly-shared types are nothrow-move-assignable, nothrow-swappable
    • Most implicitly-shared types are nothrow-move-constructible
  • Embedded platforms
    • libinput, when present, is now the default for eglfs and linuxfb

Deprecated Modules

The following modules are part of Qt 5.6 release, but deprecated and considered for removal in subsequent releases of Qt:

  • Qt Script
  • Qt Enginio

Removed Modules

With Qt 5.6 the following modules are no longer part of the release packages, but users can still build them from source:

  • Qt WebKit
  • Qt Declarative (Qt Quick 1)

Technology Preview Modules

Qt 5.6 binary installer packages will contain technology preview of the following modules:

  • Qt 3D
    • New buffer and attribute API
    • Support for OpenGL instanced rendering where supported
    • Support for OpenGL primitive restart
    • Support for clip planes, stencil operations and many more OpenGL features
    • Support for easily generating buffer data from C++ and QML (using javascript typed arrays)
    • qgltf tool to compile scenes into glTF
    • Support for loading glTF scenes via SceneLoader
    • Support for controlling multisampling with Scene3D
    • More standard materials: per-vertex colors, Gooch shading
    • APIs for mouse input and collision detection
    • New Logic aspect to have QML/C++ code executed synchronously with the Qt3D aspect engine. Useful for prototyping future Qt3D features
    • Many bugfixes all around but especially around unloading and shutdown
    • Many new examples
  • Qt Quick Controls 2.0
    • New lightweight set of controls designed especially for embedded devices
  • Qt Speech
    • Speech recognition and text to speech functionality
    • Plug-in API for using various open-source and commercial ASR and TTS engines
  • Qt SerialBus
    • New module for general purpose serial bus access with initial implementation for Controller Area Network (CAN) bus and Modbus
  • Qt Wayland
    • Stabilised the QtWaylandCompositor apis. The QtWaylandCompositor api takes advantage of the QPA abstraction and exposes an API making it trivial for developers to build their own multi-process windowing system

New Configurations

Qt 5.6 does not add support to new operating systems, but there are many changes in supported platform and compiler versions. More details what is now tested in Qt CI, please check Qt-5.6.0-tools-and-versions

Known Issues

More details here.