189 lines
8.8 KiB
Plaintext
189 lines
8.8 KiB
Plaintext
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.9.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.
|
|
|
|
****************************************************************************
|
|
* General *
|
|
****************************************************************************
|
|
|
|
- Added the QtQuick.Shapes plugin providing the Shape and ShapePath
|
|
types for rendering geometry-based stroked and filled paths.
|
|
Various types of Path existed already for defining movement trajectories
|
|
in PathView, but now they can be rendered too.
|
|
* PathLine, PathQuad, PathCubic, PathArc, PathCurve, and PathSvg
|
|
* Fill: solid color, linear, radial or conical gradients
|
|
* Stroke: colored and dashed lines
|
|
* Uses GL_NV_path_rendering on recent nVidia GPUs
|
|
|
|
- Added the Qt.labs.handlers plugin, providing a Tech Preview version
|
|
of Pointer Handlers. These are intended as an improved way of handling
|
|
gestures and events from pointing devices (mouse, touchpad, and
|
|
touchscreen so far; stylus devices are coming in a future release).
|
|
Properties acceptedButtons, acceptedModifiers, acceptedDevices, and
|
|
acceptedPointerTypes enable scoping their reaction for specific use
|
|
cases, but by default, they work equally well with mouse (as applicable)
|
|
and touch devices. So far we have four of them available in QML:
|
|
* TapHandler is for detecting clicks and taps, double-clicks,
|
|
multi-clicks and taps, and long presses.
|
|
* DragHandler provides a way of declaring an Item draggable, and also
|
|
has properties which can be used for bindings to achieve
|
|
less-mainstream use cases.
|
|
* PinchHandler can react to a pinch gesture using two or more fingers
|
|
(as configured via properties) or to a native pinch gesture from the OS.
|
|
Declaring an instance inside an Item is enough to support pinching to
|
|
scale, rotate and move that Item; and it also has properties available
|
|
for bindings to enable other use cases.
|
|
* PointHandler does not directly manipulate an Item, but just provides
|
|
information about individual touchpoints or the mouse, for binding
|
|
purposes. It is intended mainly for interactive feedback, orthogonal
|
|
to whichever Handler or Item currently has the exclusive grab.
|
|
Along with this, control over grabbing has gotten more fine-grained:
|
|
the grabPermissions property in a Pointer Handler sets rules for how
|
|
Pointer Handlers and Items negotiate for the exclusive grab; and some
|
|
Pointer Handlers are able to handle some kinds of interaction with a new
|
|
type of grab, the passive grab. There are several new logging categories
|
|
you can enable to see how event delivery is done, the grab transitions,
|
|
and so on.
|
|
|
|
As usual with Tech Preview material, we reserve the right to change it
|
|
substantially in future releases.
|
|
|
|
****************************************************************************
|
|
* Library *
|
|
****************************************************************************
|
|
|
|
QmlTest
|
|
-------
|
|
|
|
- The returned object from TestCase::grabImage now has 'width', 'height',
|
|
and 'size' properties for additional verification. In addition, there is
|
|
a save() method to be able to persist the grabbed image to disk (for
|
|
diagnostics purposes, for example).
|
|
|
|
Qt Quick
|
|
--------
|
|
|
|
- [QTBUG-58945] Added the properties ShaderEffectSource.samples and
|
|
Item.layer.samples to allow requesting MSAA rendering of an item
|
|
subtree, without enabling multisampling for the entire scene.
|
|
- [QTBUG-59462] Added support for samplerExternalOES sampler type in
|
|
ShaderEffect
|
|
- [QTBUG-60268] Added Qt.platform.pluginName property.
|
|
- [QTBUG-60268] Selecting software as default renderer moved from build
|
|
time to run time
|
|
- Resizing is done by setSize() in a couple of places, such that
|
|
the widthChanged() and heightChanged() are emitted after both
|
|
properties are updated.
|
|
|
|
- Flickable:
|
|
* [QTBUG-38515] Added a boundsMovement property that allows disabling
|
|
the default bounce effect and implementing custom edge effects.
|
|
|
|
- Item Views:
|
|
* [QTBUG-34576] ListView velocities remain correct during index-based
|
|
programmatic scrolling
|
|
|
|
- Important Behavior Change:
|
|
* [QTCREATORBUG-15000] The implicitWidthChanged2 and
|
|
implicitHeightChanged2 signals of QQuickImplicitSizeItem have been
|
|
removed. Although these were undocumented and hence private API, any
|
|
applications currently using them should use the public
|
|
implicitWidthChanged and implicitHeightChanged signals.
|
|
|
|
- Item:
|
|
* Add QQuickItem::size() and document QQuickItem::setSize().
|
|
* When subclassing QQuickItem, you should call setAcceptTouchEvents(true)
|
|
if you need the item to receive touch events. It will be required later on.
|
|
* Added a ItemEnabledHasChanged value to the ItemChange enum.
|
|
QQuickItem::itemChange(ItemEnabledHasChanged) gets called when the
|
|
item's effective enabled state has changed. The new enabled state is
|
|
stored in ItemChangeData::boolValue.
|
|
|
|
- Window:
|
|
* It is now possible to set the default render type of text-like
|
|
elements globally via the QQuickWindow::setTextRenderType() function.
|
|
If you were using the (undocumented) QT_QUICK_DEFAULT_TEXT_RENDER_TYPE
|
|
macro when building Qt Quick for the same purpose, note that the macro
|
|
value needs now to be set to the "NativeTextRendering" value, instead
|
|
of "NativeRendering".
|
|
|
|
- Screen:
|
|
* Added manufacturer, model and serial number.
|
|
|
|
- TextEdit:
|
|
* Added tabStopDistance property
|
|
|
|
- Text:
|
|
* [QTBUG-56728] Added "advance" property to Text element.
|
|
* [QTBUG-56728] Added "font.preferShaping" property to Text, TextEdit
|
|
and TextInput. This makes it possible to improve performance at the
|
|
expense of some cosmetic font features.
|
|
* [QTBUG-56728] Added "kerning" property to the font type to support
|
|
disabling kerning on text.
|
|
* [QTBUG-61984] Fixed an issue when the family of an application font
|
|
was hardcoded and applied to text before the font itself was loaded.
|
|
|
|
- Image:
|
|
* [QTBUG-59872][QTBUG-29451] Allow direct loading of pkm texture files
|
|
into Image. For example: Image { source: "myImage.pkm" }
|
|
|
|
- QtTest:
|
|
* [QTBUG-53381] Added keySequence() function in TestCase.
|
|
|
|
QtQml
|
|
-----
|
|
|
|
- [QTBUG-58493] "const" variable declarations are now available in JS as
|
|
well as QML mode.
|
|
- [QTBUG-58493] "const" variable declarations now require an initializer,
|
|
bringing them closer to the required spec behavior.
|
|
- [QTBUG-58493] "const" variable declarations now throw a SyntaxError if
|
|
multiple attempts to declare the same variable name are found. Note that
|
|
"const" is still not fully spec-compliant (i.e. reassignment at runtime
|
|
is not disallowed).
|
|
- Object.assign from the ES6 specification is now implemented.
|
|
- Number now contains the MAX_SAFE_INTEGER, MIN_SAFE_INTEGER, isInteger
|
|
and isSafeInteger properties from the ES6 specification.
|
|
- [QTBUG-24799] The instanceof keyword in JavaScript has been extended to
|
|
work on QML types and instances. This means that you are now able to use
|
|
it to verify that a var is indeed the type you expect (e.g. someVar
|
|
instanceof Rectangle).
|
|
- [QTBUG-54961] Support C++11 scoped enums in QML. These can now be
|
|
accessed as <TypeName>.<EnumName>.<EnumValue>
|
|
- The QML engine can now emit informational messages (in the
|
|
"qt.qml.binding.removal" logging category) whenever a binding is lost
|
|
due to an imperative assignment. This can be used to debug issues due to
|
|
broken bindings.
|
|
- [QTBUG-61599] Allow sending binary data, encoded as ArrayBuffer objects,
|
|
via XMLHttpRequest's send() method.
|
|
- [QTBUG-14861] Enums can now be declared directly in QML.
|
|
- [QTBUG-63464] Fix Number.isNaN() returning incorrect values with some
|
|
glibc versions.
|
|
- [QTBUG-52515] Qt.platform.os returns "qnx" when running on QNX
|
|
platforms.
|
|
- [QTBUG-60133] std::vector and QVector are now on par with QList as a
|
|
Q_INVOKABLE return type and as a property type
|
|
|
|
- QQmlEngine:
|
|
* [QTBUG-15602] Added retranslate() slot and QEvent::LanguageChange
|
|
support to refresh bindings when changing the language at runtime.
|
|
|
|
qmlscene
|
|
--------
|
|
- Added --core-profile option to request that type of OpenGL context
|
|
- Added --apptype option to set the application class (like the qml
|
|
runtime tool already had)
|