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: