New Features in Qt 5.14

From Qt Wiki
Revision as of 15:40, 30 August 2019 by Shawnrutledge (talk | contribs) (PathPolyline and PathMultiline)

Jump to: navigation, search

Note that this list should be considered as work in progress until the first Beta release.

New Features (within existing modules)

  • Qt 3D
    • Threading architecture overhaul (removal of aspect thread)
    • Frontend/Backend node sync overhaul
    • QTransform now has access to the world matrix
    • Introduction of Scene3DView
    • Scene3D is now in sync with QtQuick
    • Scene3D can now render as an underlay without FBO
  • Qt Bluetooth
    • [QTBUG-40698] Optional win32 backend to support Windows 7 and 8. Backend is not built by default and not part of the prebuild packages though.
    • QLowEnergyController: Introduce AuthorizationError
    • [QTBUG-76615] Ability to have multiple manufacturer data per manufacturer ID
  • Qt Core
    • QCalendar adds support for Calendars other than Gregorian, by implementation of suitable back-ends.
      • Back-ends to implement the Gregorian, Jalali (Persian), Islamic Civil, Milankovic, and Julian calendars. We look forward to other contributions.
    • QColorConstants provide constexpr QColor instances that don't cost any runtime overhead
  • Qt GUI
    • Color-space support for images. Reading and writing color-spaces from JPEG, PNG, WebP and TIFF images, and performing color-space transformation on images.
    • QTextDocument/QTextTable now support
      • per-edge border styling via QTextTableCellFormat
      • border-collapse mode
      • HTML table style import (partial) and export
    • QTextDocument supports reading and writing Markdown format, as an alternative to HTML. If you read HTML and write Markdown, or vice-versa, the formatting should be preserved to the extent that the CommonMark and GitHub specs allow (including headings, tables, bullet lists, block quotes and code blocks); but we don't guarantee all cases yet, because it's thinly tested so far.
  • Qt Location
  • Qt Multimedia
    • Added QVideoFrame::Format_YUV422P.
    • Introduced support of GStreamer OpenGL plugin.
  • Qt Network
    • HTTP/2 configuration API
    • Network connectivity monitoring
  • Qt QML
  • Qt Quick
    • Added the first preview of the graphics API independent scenegraph renderer as an opt-in feature. This allows running qualifying Qt Quick applications on top of Vulkan, Metal, or Direct3D 11 instead of OpenGL. The supported platforms are currently Windows 10, Linux with X11 (xcb), macOS with MoltenVK, or Android 7.0+ for Vulkan, macOS for Metal, Windows 10 for D3D.
    • Text and TextEdit now support Markdown format (CommonMark and GitHub dialects) as an alternative to HTML.
      • Includes the GitHub checklist extension, such that you can click to toggle checkboxes in a TextEdit.
    • TextEdit uses an I-beam cursor by default, and a pointing-hand cursor when hovering a checkbox or a link. You can still override the default cursor, though.
    • Added WheelHandler, an Event Handler for the mouse wheel, and optionally for emulated mouse wheel events coming from a trackpad.
    • Added BoundaryRule in Qt.labs.animation: a PropertyValueInterceptor that restricts the range of values a numeric property can have, applies "resistance" when the value is overshooting, and provides the ability to animate it back within range. It's particularly useful in combination with WheelHandler, to provide similar physics as Flickable has.
    • Event Handler base classes such as QQuickSinglePointHandler and QQuickMultiPointHandler have private implementation, while the classes themselves are suitable for subclassing, and are exported. They do not have supported public C++ API yet, but we encourage you to experiment with subclassing them anyway using the private API. They are intended to become public at some point in Qt 6 (and we can continue to iterate the API until then, especially to keep up with upcoming changes to the QEvent classes in Qt 6).
    • Image and BorderImage now have the same currentFrame and frameCount properties that AnimatedImage has; this allows choosing an individual icon from an .ICO file that contains multiple icons, for example. In the future it's intended to support other multi-page formats such as PDF, TIFF and WEBP.
    • Added PathPolyline and PathMultiline as additional ways of drawing and/or filling arbitrary polygons and sets of polygons with Qt Quick Shapes.
  • Qt Quick Controls 2
  • Qt SerialBus
    • [QTBUG-72979] Added operators to compare QCanBusDevice::Filter for equality or inequality.
    • [QTBUG-70449] Added the QCanBusDevice::OperationError and QCanBusDevice::TimeoutError codes to signal wrong operation respectively timeout errors.
    • [QTBUG-70766] Added the function QCanBusDevice::busStatus() to query the CAN bus status from the CAN bus device.
    • [QTBUG-54943] Added the function QCanBusDevice::resetController() to reset a CAN controller from bus off state.
    • [QTBUG-75204] SocketCAN: Added the configuration parameter QCanBusDevice::ProtocolKey to use another protocol inside the protocol family PF_CAN.
    • [QTBUG-54296] SocketCAN: If libsocketcan is available, the CAN bus bitrate can be get and set at runtime.
    • PeakCAN: Added support for PCAN-USB devices on macOS by using the MacCAN library.
    • [QTBUG-75405]QTBUG-76232] Expose the underling QIODevice used for Modbus communication, e.g. for setting the serial port hardware flow control (RTS/CTS).
  • Qt Test
    • initMain() method to perform any initialization that needs to happen before QApplication exists.
  • Qt Wayland Compositor
  • Qt WebEngine
    • Updated to be based on Chromium 77
    • New API for control of QWebEnginePage life-cycle
  • Qt WebSockets

Platform Changes

  • Android
    • Android needs NDKr20+
    • Added multi ABI build in one go. By default it will build for all android supported abis (arm64-v8a, armeabi-v7a, x86_64, x86). The user can control which ABIs he wants to use via ANDROID_ABIS qmake variable.
  • iOS
  • Wayland
  • Qt Widgets
    • QTextEdit and QTextBrowser now support Markdown format (CommonMark and GitHub dialects) as an alternative to HTML.
      • Includes the GitHub checklist extension, such that you can click to toggle checkboxes if the widget is editable.
      • QTextBrowser::setSource() detects Markdown based on the file extension.

New Modules

  • Qt Lottie fully supported

Technology Preview Modules

  • Added tech preview for Qt Quick 3D, a high-level API for creating 3D content for user interfaces from Qt Quick.

New Platforms

  • Qt for WebAssembly

Qt for Automation

  • Qt KNX
    • Extended support for KNXnet/IP Core V2 (discovery, tunneling, routing, security)
  • Qt Mqtt
    • Added support for using QSslConfiguration when connecting encrypted
    • Added autoKeepAlive property to enable manual connectivity checks
  • Qt OPC UA
    • Added tech preview for GDS client support
    • Updated 3rdparty open62541 to version 1.0
  • Qt CoAP
    • The module leaves the Tech Preview status behind and an API commitment is given.

Deprecated Modules

The following modules are part of Qt 5.14 release, but deprecated and considered for removal in subsequent releases of Qt:

  • Qt Script
  • Qt Quick Controls 1
  • Qt XmlPatterns

Removed Modules

The following modules have been deprecated earlier and no longer part of the Qt 5.14 release:

Configurations

Release Information [edit]
Qt Version Overview Tools and Versions New Features Changes Known Issues
Qt 5.0 Qt 5.0.0Qt 5.0.1 Release New Features in Qt 5.0 Qt 5.0 Changes Qt 5.0.0 Beta 1Qt 5.0.0 Beta 2Qt 5.0.0 RC 1Qt 5.0.0 RC 2
Qt 5.0.0Qt 5.0.1Qt 5.0.2 Known Issues
Qt 5.1 Qt 5.1 Release New Features in Qt 5.1 Qt 5.1.0 Change Files Qt 5.1.0 Beta 1Qt 5.1.0 RC 1
Qt 5.1.0Qt 5.1.1 Known Issues
Qt 5.2 Qt 5.2 Release New Features in Qt 5.2 Qt 5.2.0Qt 5.2.1 Change Files Qt 5.2.0 Beta 1Qt 5.2.0 RC 1
Qt 5.2.0Qt 5.2.1 Known Issues
Qt 5.3 Qt 5.3 Release Qt 5.3 Tools and Versions New Features in Qt 5.3 Qt 5.3.0Qt 5.3.1Qt 5.3.2 Change Files Qt 5.3.0 Beta 1Qt 5.3.0 RC 1
Qt 5.3.0Qt 5.3.1Qt 5.3.2 Known Issues
Qt 5.4 Qt 5.4 Release Qt 5.4 Tools and Versions New Features in Qt 5.4 Qt 5.4.0Qt 5.4.1Qt 5.4.2 Change Files Qt 5.4.0Qt 5.4.1Qt 5.4.2 Known Issues
Qt 5.5 Qt 5.5 Release Qt 5.5 Tools and Versions New Features in Qt 5.5 Qt 5.5.0Qt 5.5.1 Change Files Qt 5.5.0Qt 5.5.1 Known Issues
Qt 5.6 Qt 5.6 Release Qt 5.6 Tools and Versions New Features in Qt 5.6 Qt 5.6.0Qt 5.6.1Qt 5.6.2Qt 5.6.3 Change Files Qt 5.6.0Qt 5.6.1Qt 5.6.2Qt 5.6.3 Known Issues
Qt 5.7 Qt 5.7 Release Qt 5.7 Tools and Versions New Features in Qt 5.7 Qt 5.7.0Qt 5.7.1 Change Files Qt 5.7.0Qt 5.7.1 Known Issues
Qt 5.8 Qt 5.8 Release Qt 5.8 Tools and Versions New Features in Qt 5.8 Qt 5.8.0 Change Files Qt 5.8.0 Known Issues
Qt 5.9 Qt 5.9 Release Qt 5.9 Tools and Versions New Features in Qt 5.9 Qt 5.9.0Qt 5.9.1Qt 5.9.2Qt 5.9.3Qt 5.9.4Qt 5.9.5Qt 5.9.6 Change FilesQt 5.9.7 Change FilesQt 5.9.8 Change Files Qt 5.9.0Qt 5.9.1Qt 5.9.2Qt 5.9.3Qt 5.9.4Qt 5.9.5Qt 5.9.6 Known IssuesQt 5.9.7 Known IssuesQt 5.9.8 Known Issues
Qt 5.10 Qt 5.10 Release Qt 5.10 Tools and Versions New Features in Qt 5.10 Qt 5.10.0Qt 5.10.1 Change Files Qt 5.10.0Qt 5.10.1 Known Issues
Qt 5.11 Qt 5.11 Release Qt 5.11 Tools and Versions New Features in Qt 5.11 Qt 5.11.0Qt 5.11.1Qt 5.11.2 Change FilesQt 5.11.3 Change Files Qt 5.11.0Qt 5.11.1Qt 5.11.2 Known IssuesQt 5.11.3 Known Issues
Qt 5.12 Qt 5.12 Release Qt 5.12 Tools and Versions New Features in Qt 5.12 Qt 5.12.0 Change FilesQt 5.12.1 Change FilesQt 5.12.2 Change FilesQt 5.12.3 Change FilesQt 5.12.4 Change FilesQt 5.12.5 Change Files Qt 5.12.0 Known IssuesQt 5.12.1 Known IssuesQt 5.12.2 Known IssuesQt 5.12.3 Known IssuesQt 5.12.4 Known IssuesQt 5.12.5 Known Issues
Qt 5.13 Qt 5.13 Release Qt 5.13 Tools and Versions New Features in Qt 5.13 Qt 5.13.0 Change FilesQt 5.13.1 Change Files Qt 5.13.0 Known IssuesQt 5.13.1 Known Issues
Qt 5.14 Qt 5.14 Release Qt 5.14 Tools and Versions New Features in Qt 5.14 Qt 5.14.0 Change Files Qt 5.14.0 Known Issues