Qt 5.10 introduces many new features and improvements as well as bugfixes over the 5.9.x series. For more details, refer to the online documentation included in this distribution. The documentation is also available online: http://doc.qt.io/qt-5/index.html The Qt version 5.10 series is binary compatible with the 5.10.x series. Applications compiled for 5.9 will continue to run with 5.10. Some of the changes listed in this file include issue tracking numbers corresponding to tasks in the Qt Bug Tracker: https://bugreports.qt.io/ Each of these identifiers can be entered in the bug tracker to obtain more information about a particular change. **************************************************************************** * Important Behavior Changes * **************************************************************************** - [QTBUG-58060] DialogButtonBox with Material style now uses the Android button layout. **************************************************************************** * Controls * **************************************************************************** - AbstractButton: * [QTBUG-49820] Added support for icons. The following properties are now available for derived types to use: icon.name, icon.source, icon.width, icon.height, icon.color. * [QTBUG-49820] Added display property to allow control over how icons and text are displayed within buttons, without having to implement custom delegates. * [QTBUG-50705] Added AbstractButton::action property. - Action: * [QTBUG-50705] Introduced Action, an abstract user interface action that can have shortcuts and be assigned to buttons. - ActionGroup: * [QTBUG-50705] Introduced ActionGroup, a non-visual group of actions that is mutually exclusive by default. - ApplicationWindow: * [QTBUG-61336] The attached activeFocusControl property has been made functional with a plain QML Window to make the functionality available when using QQuickWindow/View/Widget instead of ApplicationWindow. * [QTBUG-61336] Deprecated the overlay grouped property in favor of the newly introduced Overlay attached properties. - ButtonGroup: * Added exclusive property to allow creating non-exclusive button groups. - Container: * Deprecated removeItem(int) in favor of removeItem(Item) and takeItem(int) with clearer semantics. The former destroys the item, whereas the latter transfers ownership to the caller. - Dialog: * Added "result" property that holds whether the dialog was previously accepted or rejected. * Added a standardButton() method for accessing the standard buttons in the dialog's button box. * [QTBUG-59423] Added missing applied(), discarded(), helpRequested(), and reset() signals that are emitted when the respective standard buttons are clicked. - DialogButtonBox: * [QTBUG-59423] Added missing applied(), reset(), and discarded() signals. - Menu: * [QTBUG-50471] Added a popup() method that opens a menu at the mouse cursor on desktop platforms that have a mouse cursor available, and otherwise centers the menu over its parent item. * Added support for declaring Actions. The new "delegate" property is used to define a Component that is used to create menu items that present the actions. * Deprecated removeItem(int) in favor of removeItem(Item) and takeItem(int) with clearer semantics. The former destroys the item, whereas the latter transfers ownership to the caller. * [QTBUG-60351] Added support for cascading sub-menus. * Added addMenu(), insertMenu(), removeMenu(), and takeMenu() methods for adding and removing sub-menus programmatically. * Added addAction(), insertAction(), removeAction(), and takeAction() methods for adding and removing actions programmatically. * Added currentIndex property for styling purposes. * Added actionAt() and menuAt() accessors. * Added a dismiss() method. Unlike close() that only closes a menu and its sub-menus, dismiss() closes the whole hierarchy of menus, including the parent menus. * Added "count" property. - MenuBar: * [QTBUG-60350] Introduced a MenuBar control. - MenuItem: * Added a "menu" property that provides access to the menu that contains the menu item. * Menu has been fixed to highlight its items while key navigating and mouse hovering to ensure seamless item highlight between mouse hover and key navigation. In order to provide appropriate highlighting that works for key navigation and mouse hover, styles should bind their visual highlight to MenuItem::highlighted instead of Control::activeFocus or Control::hovered. - Overlay: * [QTBUG-61336] Introduced Overlay attached properties and signals that supersede the overlay grouped property in Application Window. The Overlay attached type allows providing background dimming for popups without requiring an ApplicationWindow instance. - Popup: * Added an "opened" boolean property that holds whether a popup is fully open. That is, the popup is visible and neither the enter nor exit transitions are running. * Added "enabled" property. * Added a read-only "mirrored" property that is true when the popup's locale is right-to-left. - RangeSlider: * Added horizontal and vertical properties to make it more convenient to create orientation-dependent bindings in styles. - ScrollBar: * Added horizontal and vertical properties to make it more convenient to create orientation-dependent bindings in styles. - ScrollIndicator: * Added horizontal and vertical properties to make it more convenient to create orientation-dependent bindings in styles. - Slider: * Added horizontal and vertical properties to make it more convenient to create orientation-dependent bindings in styles. - SpinBox: * [QTBUG-58760] Added wrap-property to allow wrapping circular spinboxes. - StackView: * Allowed specifying a transition when clearing the stack view. - SwipeView: * Added horizontal and vertical properties to make it more convenient to create orientation-dependent bindings in styles. - TabBar: * Added index/tabBar/position attached properties. **************************************************************************** * Styles * **************************************************************************** - Introduced a Fusion style that offers a platform agnostic desktop-oriented look'n'feel. - Added the Imagine style, which is based on image assets that can be provided using a predefined naming convention. - Added support for specifying the default font for different styles in qtquickcontrols2.conf. - Fixed the style selection mechanism so that now it is possible to organize platform and locale-specific files into sub-directories, such as "+linux", "+macos", and "+windows".