Qt 5.8 introduces many new features and improvements as well as bugfixes over the 5.7.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.8 series is binary compatible with the 5.7.x series. Applications compiled for 5.7 will continue to run with 5.8. 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 * **************************************************************************** - Control: * Control::hoverEnabled has been made to inherit to children, to make it possible to disable hover effects for a tree of controls in one place. - Tumbler: * Changed the default value of visibleItemCount to 5 to make it visually clearer that it's a Tumbler. * [QTBUG-53587] Changed the default value of wrap to be false when count is less than visibleItemCount. Explicitly setting wrap overrides this behavior. **************************************************************************** * Controls * **************************************************************************** - AbstractButton: * A plain AbstractButton now calculates its implicit size based on the implicit size of the content item plus paddings, and the implicit size of the background item. * [QTBUG-51554] The checkable property has been made accessible from QML. Previously it was only exposed for Button and MenuItem, but it is now available for any AbstractButton to make it possible to create custom QML-based checkable buttons. * [QTBUG-57085] Fixed auto-repeat to not cancel on the tiniest mouse/touch move, but keep repeating until moved outside the button. * Fixed press-and-hold for checkable buttons to not toggle the checked state on release after press-and-hold. - ButtonGroup: * Added clicked(AbstractButton) signal for centralized click handling for grouped buttons. - ComboBox: * [QTBUG-56884] Added handling for Home and End keys. * [QTBUG-56884] Added missing keyboard search functionality. * [QTBUG-54935] Added a flat property that provides more suitable looks for using ComboBox in a ToolBar. - Container: * Added incrementCurrentIndex() and decrementCurrentIndex() methods for changing the current index without losing its property binding. * A plain Container now calculates its implicit size based on the implicit size of the content item plus paddings, and the implicit size of the background item. - Control: * A plain Control now calculates its implicit size based on the implicit size of the content item plus paddings, and the implicit size of the background item. - Dialog: * Added a new Dialog type to provide convenience for handling dialog popups. Dialog integrates with DialogButtonBox, and provides convenient accepted() and rejected() signals. - DialogButtonBox: * Added DialogButtonBox to provide convenience for handling dialog buttons. DialogButtonBox is able to create a set of standard buttons with a single line of QML code, and provides convenient accepted() and rejected() signals. - Drawer: * [QTBUG-55360] Made it possible to control the vertical position of a horizontal drawer, and vice versa. This allows placing a drawer below a header/toolbar, for instance. - MenuSeparator: * [QTBUG-54862] Added MenuSeparator to visually distinguish between groups of items in a menu. - Page: * [QTBUG-56709] Page has been made to calculate its implicit size based on the implicit size of the header, content, and footer plus paddings, and the implicit size of the background item. - Popup: * [QTBUG-56025] Fixed to respect explicitly set width and height. * [QTBUG-56562] The QML Shortcut type from QtQuick has been fixed to respect modal popups from QtQuick Controls 2. * [QTBUG-56755] Fixed binding loops with size-dependent positioning. - RangeSlider: * [QTBUG-50003] Added first.hovered and second.hovered properties that hold whether the respective handles are hovered. - RoundButton: * [QTBUG-54967] Added RoundButton. - Slider: * [QTBUG-53847] Added valueAt() method for converting any position to a value in the slider's range. It is also possible to use valueAt() to get continuous value updates. - SpinBox: * [QTBUG-50003] Added up.hovered and down.hovered properties that hold whether the respective buttons are hovered. * [QTBUG-57085] Fixed auto-repeat to not cancel on the tiniest mouse/touch move, but keep repeating until moved outside the button. - StackView: * Added attached StackView.activated(), StackView.deactivated(), StackView.activating(), and StackView.deactivating() signals that are convenient for initializing and cleaning up item-specific resources. * [QTBUG-55405] Added StackView.removed() attached signal to provide a way to delete items that StackView won't. * Made it possible to choose the visual transition type for any operation. This allows using for example push and pop transitions with replace(), which allows implementing an "infinite" back and forward navigation pattern while keeping the amount of instantiated items constant. - SwipeDelegate: * [QTBUG-54651] Added swipe.close() for setting swipe.position to 0. * [QTBUG-54651] Added swipe.completed() for responding to completion of swipes. * [QTBUG-54651] Added attached SwipeDelegate.pressed property and SwipeDelegate.clicked() signal for detecting when non-interactive left/right/behind items are pressed and clicked. * [QTBUG-56312][QTBUG-57285] Fixed spurious clicked() signal emission when released outside the delegate. * [QTBUG-57271] Fixed swipes that begin over a child item of a delegate. - SwipeView: * Added SwipeView.isNextItem and SwipeView.isPreviousItem attached properties to make it straight-forward to use Loader for unloading pages that are outside the reach. * [QTBUG-54268] Added interactive property for controlling whether swipe interaction is enabled. - TextArea: * [QTBUG-51009] Added pressed() and released() signals. - TextField: * [QTBUG-51009] Added pressed() and released() signals. * Aligned the name of the pressAndHold() argument with TextArea - ToolSeparator: * [QTBUG-54862] Added ToolSeparator to visually distinguish between groups of items in a toolbar by separating them with a line. It can be used in horizontal or vertical toolbars. - Tumbler: * [QTBUG-53587] Added wrap property to control whether or not tumbler wraps when it reaches the top and bottom. **************************************************************************** * Styles * **************************************************************************** - Added support for specifying the fallback style for custom styles via :/qtquickcontrols2.conf, QT_QUICK_CONTROLS_FALLBACK_STYLE or QQuickStyle::setFallbackStyle(). Material -------- - [QTBUG-50003] Implemented ripple and hover effects. - Fixed (optional) elevation effects for Frame, GroupBox, Pane, and TabBar. - Added Material.System theme enum value, that can be used to let the Material style choose either the light or dark theme based on the system theme colors. Universal --------- - [QTBUG-50003] Implemented hover effects - Added Universal.System theme enum value, that can be used to let the Universal style choose either the light or dark theme based on the system theme colors. **************************************************************************** * Platform * **************************************************************************** - Introduced a new experimental Qt Labs Platform module that provides the following native (Qt Widgets fallback when not available) QML types: * ColorDialog * FileDialog * FolderDialog * FontDialog * Menu * MenuBar * MenuItem * MenuItemGroup * MenuSeparator * MessageDialog * StandardPaths * SystemTrayIcon