blob: 39b064fb92fb64d26ded5680b863f9ffde79eb93 [file] [log] [blame]
Qt 5.9 introduces many new features and improvements as well as bugfixes
over the 5.8.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.9 series is binary compatible with the 5.8.x series.
Applications compiled for 5.8 will continue to run with 5.9.
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 *
****************************************************************************
- Added multi-touch support for buttons and sliders. It is now possible to
touch-interact with multiple sliders and buttons at the same time.
- By popular demand, Slider, RangeSlider, and Dial have been changed to
report live value updates by default. This can be disabled by setting the
"live" property to false.
- [QTBUG-59920] Sliders and Dials now react immediately when using a
mouse. Now the initial drag threshold applies only on touch, to avoid
conflicting with flickables.
- [QTBUG-58667] ScrollBar now reacts immediately when using a mouse.
- [QTBUG-59629] Set explicit cursors on all interactive controls.
****************************************************************************
* Controls *
****************************************************************************
- AbstractButton:
* Added support for multi-touch.
* [QTBUG-57203] Added a toggled() signal that is emitted whenever a
checkable button is interactively toggled by the user by using either
touch, mouse, or keys.
- ApplicationWindow:
* [QTBUG-58932] The "data" property has been renamed to contentData, as it
was documented. Notice that a "data" property still exists in QML
Window, but is no longer overshadowed in ApplicationWindow.
- Control:
* [QTBUG-50992] Resolved the "Object destroyed during incubation" issue
that occurred randomly when customizing built-in delegates.
- ComboBox:
* [QTBUG-53876] Added "editable" property.
* Added "down" property.
- DelayButton:
* Added DelayButton that incorporates a delay before the button becomes
activated, to prevent accidental triggers.
- Dial:
* Added a "live" property that determines whether the dial provides live
updates for the "value" property while the handle is dragged.
* Added support for wheel handling when wheelEnabled is set to true.
* [QTBUG-57203] Added a moved() signal that is emitted whenever the dial
is interactively moved by the user by using either touch, mouse, or
keys.
* Fixed handling of inverted wheel events (natural touchpad scrolling
direction on macOS).
- Drawer:
* [QTBUG-53169] Added "interactive" property that specifies whether the
drawer reacts to swipes. This can be used to make drawer a
non-closable persistent side-bar.
- Menu:
* Fixed populating Menus with a Repeater.
- Popup:
* Allowed passing a Window as a parent when creating dynamic Popup
instances using eg. Component.createObject(). Previously, Popup
assumed the parent to be an Item, and would complain "cannot find
any window to open popup in" if a Window was passed.
* [QTBUG-58196] Allowed dynamic window changes after construction.
* Fixed the CloseOnRelease close policy for non-modal popups.
- RangeSlider:
* Added a "live" property that determines whether the range slider
provides live updates for the first.value and second.value properties
while the respective handle is dragged.
- ScrollBar:
* [QTBUG-56569] Added snapMode property for incremental or discrete
scrolling.
* Added an "interactive "property. A non-interactive ScrollBar is visually
and behaviorally similar to ScrollIndicator. This property is useful
for switching between typical mouse- and touch-orientated UIs with
interactive and non- interactive scroll bars, respectively.
* Added a "policy" property, which holds whether the scroll bar is shown
always/never/as needed (default).
- ScrollView:
* Added ScrollView. On touch, ScrollView enables flicking and makes
the scroll bars non-interactive. When interacted with a mouse device,
flicking is disabled and the scroll bars are interactive.
- Slider:
* Added support for multi-touch.
* Added a "live" property that determines whether the slider provides live
updates for the "value" property while the handle is dragged.
* [QTBUG-57203] Added a moved() signal that is emitted whenever the
slider is interactively moved by the user by using either touch,
mouse, wheel, or keys.
* Fixed handling of inverted wheel events (natural touchpad scrolling
direction on macOS).
- SpinBox:
* [QTBUG-56837] Added inputMethodHints and inputMethodComposing
properties for controlling the input method when using editable spin
boxes.
* [QTBUG-57203] Added a valueModified() signal that is emitted whenever
the value of a spin box has been interactively modified by the user by
using either touch, mouse, wheel, or keys.
* [QTBUG-60356] Forwarded focus to the internal editor of an editable
spin box.
- StackView:
* [QTBUG-56801] Added attached "StackView.visible" property that can be
used to control whether items below the top- most item are kept
visible.
* [QTBUG-57266] Prevented pushing duplicate items.
* [QTBUG-59034] Fixed pop/replace exit transition leak, sometimes leading
to random crashes since a transition could have been left running in the
background at destruction time.
* [QTBUG-59098] Prevented StackView filtering mouse ungrab events to avoid
MouseAreas being stuck in the pressed state.
* [QTBUG-59634] Improved component creation errors by using the standard
QML warning system that gives a context/location for the error.
- SwipeDelegate:
* [QTBUG-57192] Added "swipe.enabled" property to allow disabling of
swiping.
* Added swipe.open(side) method that can be used to programmatically
open the side item on the specified side, which can be either
SwipeDelegate.Left or SwipeDelegate.Right.
* Added swipe.opened() and swipe.closed() signals, which are emitted
when the delegate has been opened or closed by swipe, and the
respective transition has finished.
* Added a swipe.transition property that holds the transition that is
applied when a swipe is released, or swipe.open() or swipe.close() is
called.
- SwipeView:
* [QTBUG-56031] Added "orientation" property.
- TabBar:
* [QTBUG-57858] Added contentWidth and contentHeight properties that are
automatically calculated based on the total size of the tab items, but
can be manually overridden if desired. This fixes an issue that TabBar
was not able to reliably calculate an implicit size, and could in
certain scenarios enter an infinite loop due to a circular dependency
between the items' sizes and the tabbar's size.
- TextArea:
* [QTBUG-55999] Fixed the horizontal alignment of the placeholder text
in right-to-left UIs.
* TextArea has been made to work inside ScrollView, providing necessary
scroll bars out of the box.
- TextField:
* [QTBUG-55999] Fixed the horizontal alignment of the placeholder text
in right-to-left UIs.
- Tumbler:
* Added a "moving" property that describes whether the tumbler is
currently moving, due to the user either dragging or flicking the
tumbler.
****************************************************************************
* Styles *
****************************************************************************
- Added support for a QT_QUICK_CONTROLS_STYLE_PATH environment variable,
which can be used to specify lookup paths for Qt Quick Controls 2
styles. This allows device manufacturers and Linux distributions to
specify a system-wide style installation folder that may be located
outside the Qt installation tree.
- Added support for a QT_QUICK_CONTROLS_STYLE_CONF environment variable,
which can be used to override the default location of the Qt Quick
2 Controls configuration file (:/qtquickcontrols2.conf).
- QQuickStyle:
* Added availableStyles() method that returns the list of available
built-in styles.
Default
--------
- Visualized RangeSliders's range.
Material
--------
- [QTBUG-58797] Fixed cursor visibility for read-only editors.
****************************************************************************
* Platform *
****************************************************************************
- Menu:
* Fixed sub-menu handling when using the Qt Widgets fallbacks on
platforms that do not support native menus (Windows, for example).