New Features in Qt 5.9
Jump to navigation
Jump to search
Note: This page is work in progress and should not be considered as final list of Qt 5.9 features before the beta release.
New Features (within existing modules)
- Qt Core
- Added new qfloat16 class.
- QProcessEnvironment is now available on iOS, tvOS, watchOS, and VxWorks.
- QRegularExpression now requires the PCRE2 library, at least version 10.20. Support for the PCRE1 library has been dropped. A copy of PCRE2 is shipped with Qt and will automatically be used on those platforms which lack it.
- Qt GUI
- QPainter's GL engine is now functional with core profile OpenGL contexts as well.
- QImage introduced reinterpretAsFormat to change format without changing data.
- Compute shaders are now supported in QOpenGLShader and QOpenGLShaderProgram also with OpenGL ES 3.1 and newer.
- Qt QML
- Add support for ahead-of-time generation of QML type caches
- Qt Quick
- OpenGL shader program binaries used by QtGui (QPainter's GL paint engine) and the Qt Quick scenegraph are now cached on disk, improving application startup and view initialization times.
- Added an OpenVG backend for Qt Quick.
- Window-screen associations can now be made directly from QML via Window.screen and Qt.application.screens. This allows creating multi-screen aware applications for desktop and embedded without involving C++ code.
- Added a way to query information about the font actually used to render a Text element.
- Qt Quick Controls 2
- Introduced new QML types: DelayButton, ScrollView
- Added multi-touch support
- Editable ComboBox
- Non-interactive persistent Drawer
- Live value updates (by default) for Slider, RangeSlider, and Dial
- Dedicated signals for notifying user interaction
- AbstractButton::toggled(), Slider::moved(), SpinBox::valueModified(), ...
- Incremental/discrete scrolling with ScrollBar
- SwipeDelegate allows enabling/disabling the swipe, and opening programmatically
- Vertical SwipeView
- Qt Widgets
- Qt WebEngine
- Updated to Chromium 55 or 56
- Switched internally to the new Chromium build-system GN
- API for loading with HTTP POST
- Qt Bluetooth
- Qt Location
- Support for map tilting
- Support for map rotation
- Touch gestures for rotating and tilting the map
- Improved support for stacking multiple Map elements
- New element MapCopyrightNotice to flexibly position the copyrights of multiple map elements on top
- HTML copyright can now be styled using CSS
- Support for handing the rendering of map items to the plugin
- New "MapboxGL" plugin, based on the mapbox-gl-native mapping engine
- New method fitViewportToVisibleMapItems to only consider visible items when fitting the viewport
- New element MapItemGroup, to combine multiple map items in a separate qml file
- Added a field of view property to the Map element to control the camera's field of view when the map is tilted
- New element MapParameter, to expose and control plugin-specific runtime functionalities
- Qt Multimedia
- Qt Network
- Added HSTS support (HTTP Strict Transport Security) to QNetworkAccessManager
- Added redirects policy to QNetworkAccessManager (ManulRedirectsPolicy, NoLessSafeRedirectsPolicy, SameOriginRedirectsPolicy, UserVerifiedRedirectsPolicy)
- Qt WebSockets
- Qt Charts
- Added support for minor grid lines for logarithmic axes
- Added options for legend marker shapes
- Added support for more than one bar series per chart
- Qt 3D
- Render Qt Quick 2 scenes to a texture and interact with them within 3D world
- Technical Preview of new animation subsystem. Non-blocking, keyframe animations on the threadpool. Export from animations from Blender.
- Physics Based Rendering (PBR) material in Qt3DExtras. Greatly improved appearance when used with environment maps.
- 3D text support in Qt3DExtras
- Level of Detail component allows toggling based on projected screen size or distance. Comes with convenience loader class to load different QML files for you.
- Mesh is now plugin based. Comes with plugins for Wavefront OBJ, PLY and FBX formats. Easy to add others.
- Distance field based 2D textured text. Can be freely rotated but is based on planar geometry.
- Qt Virtual Keyboard
- Added support for selection handles for the dedicated (desktop) keyboard.
- Changed behavior of shift handler to only activate caps lock if the shift key is double-clicked.
- Added support for external keyboard layouts, which allows overriding and exclusion of the built-in keyboard layouts.
- Added language selection popup for faster selection of input language.
- Added support for automatic selection of the only remaining word in the suggestion list.
- The word candidate list is now automatically hidden when inactive.
- Added full screen input mode
- Embedded platforms
- Added experimental DRM dumb buffer support to the linuxfb platform plugin, in order to help devices that do not support the deprecated fbdev model (or have problems with fbdev emulation).
- The evdevtouch plugin supports filtering and prediction of touch events.
- Qt Bluetooth
- Classic Bluetooth support for WinRT added
- Android Peripheral support added
New Modules
- Qt Gamepad - A module to expose gamepad controller input to C++ and QML applications on a wide variety of platforms.
Platform Changes
- Deprecated WinRT on Windows 8.1
Technology Preview Modules
- Qt Remote Objects - A module that allows you to easily share QObject interfaces (Signals/Slots/Properties) between processes or devices
- Qt Network Authentication (TP2) - Provides support for OAuth1 & OAuth2
Deprecated Modules
The following modules are part of Qt 5.8 release, but deprecated and considered for removal in subsequent releases of Qt:
- Qt Script
Configurations