| 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) |