| Qt 5.4 introduces many new features and improvements as well as bugfixes |
| over the 5.3.x series. For more details, refer to the online documentation |
| included in this distribution. The documentation is also available online: |
| |
| http://qt-project.org/doc/qt-5 |
| |
| The Qt version 5.4 series is binary compatible with the 5.3.x series. |
| Applications compiled for 5.3 will continue to run with 5.4. |
| |
| Some of the changes listed in this file include issue tracking numbers |
| corresponding to tasks in the Qt Bug Tracker: |
| |
| http://bugreports.qt-project.org/ |
| |
| Each of these identifiers can be entered in the bug tracker to obtain more |
| information about a particular change. |
| |
| **************************************************************************** |
| * General * |
| **************************************************************************** |
| |
| General Improvements |
| -------------------- |
| |
| - The Declarative State Machine Framework extends Qt's State Machine |
| Framework (QSM) into QML. This gives you the power of deterministic |
| state machines, but declaratively. |
| |
| - Added QML linter tool. |
| |
| Third party components |
| ---------------------- |
| |
| **************************************************************************** |
| * Important Behavior Changes * |
| **************************************************************************** |
| |
| - [QTBUG-40431] When a JavaScript object/array is passed to C++ through |
| a QVariant, the engine no longer immediately converts the object |
| recursively into a QVariantMap or QVariantList but instead stores a |
| QJSValue in the QVariant. This prevents a loss of data when the JS |
| object contains non-primitive types such as function objects for |
| example. Code that expects the variant type to be exactly |
| QVariant::Map or QVariant::List may need to be adapted. Registered |
| conversion functions however ensure that code that merely calls |
| toMap() or toList() continues to work. |
| - [QTBUG-39971] Qt 5.3 changed the mapping of "var" parameters in QML |
| declared signals to QJSValue. This was reverted to the behavior of |
| earlier Qt versions to use QVariant. The original issue of not being |
| able to pass function objects through var parameters of QML declared |
| signals is solved by wrapping a QJSValue inside the QVariant. |
| |
| |
| |
| **************************************************************************** |
| * Library * |
| **************************************************************************** |
| |
| QtQml |
| ----- |
| |
| - qmldir: |
| [QTBUG-41489] added the ability to declare dependencies on other |
| modules in a module definition qmldir file |
| |
| |
| QtQuick |
| ------- |
| |
| - Accessibility for Qt Quick is now included in the qtquick library |
| instead of being a separate plugin. |
| - QQuickWindow will compresses touch events and delivers at most one touch |
| event per frame. |
| - [QTBUG-38539] Added property MouseArea.drag.smoothed for toggling |
| whether the drag target is moved to the current mouse position after a |
| drag operation has started. |
| - [QTBUG-37944] Introduced QQuickRenderControl as a public API. |
| - [QTBUG-37589] Added QQuickWidget::grabFramebuffer() for capturing the |
| content into a QImage. |
| - tools and examples consistently use the QtProject organization name |
| - [QTBUG-40130] Add containsPress property to MouseArea |
| - Added QQuickFontMetrics, which provides a subset of QFontMetricsF's API. |
| - Added QQuickTextMetrics, which provides a declarative API for the |
| functions in QFontMetricsF which take arguments. |
| - Introduced OpenGLInfo attached type that provides information about the |
| currently used OpenGL version. |
| - Images exceeding GL_MAX_TEXTURE_SIZE will be downscaled to fit so they |
| will still show. |
| - [QTBUG-42096] Fixed nodes sometimes disappearing when adding many new |
| nodes to the tree. |
| |
| - Canvas: |
| * Implement antialiasing on FramebufferObject based render targets |
| through super-sampling (SSAA) when framebuffer multisampling is not |
| available. |
| |
| - Important Behavior Changes: |
| * Drag and Drop events now propagate to child items before their |
| parents. |
| * [QTBUG-40329] TextInput::displayText now includes also partial input |
| from an input method and thus matches with the actual displayed text. |
| |
| - Item: |
| * Added functions QQuickItem::grabToImage() and Item::grabToImage() to |
| allow grabbing of items into system-memory images. |
| * When Item.opacity is set to a value outside the range of 0 to 1, it |
| will be clamped. |
| |
| - ListView: |
| * Introduced headerPositioning and footerPositioning properties to |
| control whether header and footer are positioned inline, as overlays, |
| or so that they slide away and can be pulled back regardless of the |
| content position. |
| |
| - QQuickItem: |
| * Added signals sceneGraphInitialized and sceneGraphInvalidated |
| |
| - QQuickWindow: |
| * Added QQuickWindow::scheduleRenderJob(), a convenience alternative to |
| the equivalent signals for one-shot tasks. |
| |
| - SceneGraph: |
| * There might not be an OpenGL context bound when |
| QQuickWindow::sceneGraphInvalidated() is emitted if an error occurs |
| while cleaning up the scene graph (such as EGL_CONTEXT_LOST). This is |
| according to the documentation, but has never occurred in practice |
| before. |
| |
| - TextInput: |
| * Added passwordMaskDelay property |
| * [QTBUG-38934] Added TextInput::ensureVisible(int pos) method to be |
| able to control the scrolling position of a TextInput that has |
| automatic scrolling enabled. |
| |
| - Window: |
| * Added Item.Window attached property |
| |
| QtQuick.Dialogs |
| --------------- |
| |
| - [QTBUG-39365] FontDialog: support keyboard navigation |
| - [QTBUG-39231] FileDialog: added sidebarVisible property and button |
| |
| |