What's New in Qt 5.10
New Features in Qt 5.10
Qt Connectivity Module
- The UWP Bluetooth and Bluetooth LE backends can now be used on Windows 10.
Qt Graphical Effects Module
- Added support for effects in core profile OpenGL contexts.
Qt GUI Module
- Added the cross-platform Vulkan enablers, QVulkanInstance, QWindow with type VulkanSurface, and QVulkanWindow. These enablers are for Windows, Linux (xcb), and Android (level 23+).
- Added new flags and functions to QSurfaceFormat and QOpenGLWidget, to request sRGB-capable default/backing framebuffers.
- Added the cross-platform enablers for OpenGL ES 3.2 API, which are now accessible through QOpenGLExtraFunctions.
- Added support for more than 2 Gigabyte of pixel data in QImage.
- Added QFont::PreferNoShaping style strategy.
Qt Network Module
- Upgraded OpenSSL back-end to use library v1.1.
- Persistent store of HSTS policies in QNAM (QSettings-based).
Qt Quick Module
- Added a shapes plugin, providing a Shape type under QtQuick.Shapes 1.0, which enables adding stroked and filled paths into Qt Quick scenes. Such shapes are rendered either by generating geometry or by using the GL_NV_path_rendering extension.
- Added the Qt.labs.handlers plugin (tech. preview), providing TapHandler, PinchHandler, and DragHandler. These are lightweight objects for handling events from the mouse or the touchscreen in a device-agnostic way.
Note: The plugin is available as a technology preview so it could could change in future releases.
- Added support for multi-sample framebuffers to QQuickItem layers using the layer.samples property.
- Added font.kerning and font.preferShaping properties for advanced control over the font shaping subsystem.
- Added advance property to Text to retrieve the typographical advance width.
- Added Image element to enable direct loading of ETC1 and ETC2 compressed textures from
.pkm
files on platforms where ETC1/2 are supported.
Qt Quick Controls 2 Module
- Added support for effects in core profile OpenGL contexts.
- Added new QML types: Action, ActionGroup, and MenuBar.
- Added these new styles:
- The Fusion style offers a platform agnostic desktop-oriented look'n'feel.
- The Imagine style is based on image assets that can be provided using a predefined naming convention.
- Added actions support for it in:
- buttons, delegates, menus,
- exclusive button groups,
- nested menus, and cascading sub-menus.
- Added support for:
- Added the following new members:
- TabBar::index, tabBar, and position attached properties.
- Dialog::applied(), reset(), discarded(), and helpRequested() signals.
- Dialog::standardButton() method.
- StackView::empty property.
- Menu::popup() and dismiss() methods.
- Menu::actionAt(), addAction(), insertAction(), removeAction(), and takeAction() methods.
- Menu::menuAt(), addMenu(), insertMenu(), removeMenu(), and takeMenu() methods.
- Menu::count and currentIndex properties.
- MenuItem::menu property.
- Container::removeItem(Item) and takeItem(int) methods (TabBar and SwipeView).
- Popup::enabled, mirrored, and opened properties.
horizontal
andvertical
properties to all controls that have theorientation
property: RangeSlider, Slider, ScrollBar, ScrollIndicator, and SwipeView.
- Other improvements:
- Added support for specifying a transition for StackView::clear().
- Enabled support for ApplicationWindow::activeFocusControl attached property for a plain Window.
- Enabled background dimming for popups without ApplicationWindow.
- Updated Material style for DialogButtonBox to use the Android button layout.
- Updated default style Slider and RangeSlider to visually indicate the progress/range.
Qt SerialBus Module
- Added local echo flag to QCanBusFrame to mark frames that are sent from the local system to the CAN bus.
Qt Virtual Keyboard Module
- Added the keyboard layouts for Hebrew, Serbian, Hungarian, Czech, Croatian, Bulgarian, Greek, Estonian, and Dutch.
- Added handwriting support for Farsi, Arabic, and CJK (Chinese/Japanese/Korean).
- Added new component (InputModeKey) for input mode switch.
Qt WebEngine Module
- Updated to be based on Chromium 60.
- Added pause/resume functionality to download items.
- Added settings for blocking JavaScript focus and hiding scrollbars.
- Updated QWebEnginePage with more WebActions, which were supported by QWebPage earlier.
- Added QWebEnginePage::download for triggering downloads.
Qt Widgets Module
- Added support for embedding a window into a QWidget on Android using QWidget::createWindowContainer().
- Added support for rendering and reading back (grabbing) offscreen content using QOpenGLWidget.
- Added
AA_DisableWindowContextHelpButton
attribute that prevents the automatic "What's this" button on dialogs on Windows. - Added
tabStopDistance
property in QTextOption, QTextEdit, and QPlainTextEdit. - Added
selectionEnd()
,selectionLength()
to QLineEdit, complementingselectionStart()
. - Added QInputDialog::setDoubleStep to enable changing of the step amount for
getDouble()
. - Added
isPersistentEditorOpen()
to QAbstractItemView, QTreeWidget, QTableWidget, and QListWidget. - Added new QStyle::StyleHint,
SH_TitleBar_ShowToolTipsOnButtons
. - Added support for specifying custom internal texture formats in QOpenGLWidget.
New Modules
- Qt Network Authorization - Provides support for OAuth1 and OAuth2.
- Qt Speech - Enables text-to-speech in Qt Applications.
These modules were previously released as technology preview and are now fully supported Qt add-on modules.
Technology Preview Modules
- Qt Remote Objects (TP2) - Sharing QObject interfaces (signals, slots, and properties) between processes or devices.
- Qt WebGL Streaming Plugin - Enables streaming Qt application to a web browser over the network.
Deprecated Functionality
- Qt Script
Deprecated modules are still included in Qt 5.10, but are considered for removal in future releases.
List of API Changes
The pages below contain a list of API changes in Qt 5.10:
Additions to Other Qt 5 Releases
© 2020 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.