What is new in Qt 5.4

New Features

  • Qt GUI:
    • QOpenGLContext is now able to adopt existing native contexts (EGL, GLX, …). This allows interop between Qt and other frameworks, like game engines.
    • OpenGL ES 3.0/3.1 support is improved. The header file for the highest usable ES version (gl31.h, gl3.h or gl2.h) is now automatically included by Qt’s headers in -opengl es2 builds. Vertex array objects, framebuffer blits and multisampling are now supported via the standard GLES3 functions, where applicable.
    • Dynamic OpenGL implementation selection on application startup is now available on Windows when configured with -opengl dynamic. This allows using either opengl32.dll or ANGLE’s OpenGL ES 2.0 implementation in Qt and applications without the need for two separate builds of the binaries.
    • QOpenGLWidget: The modern replacement for QGLWidget and the counterpart of QQuickWidget.
    • QOpenGLWindow: Convenience class for performing OpenGL drawing onto a QWindow.
    • QRasterWindow: Covenience class for performing software-based drawing via QPainter onto a QWindow.
    • Support for 10-bit per color channels images. These can be rendered to and from, though internally the raster engine will still only use 8-bit per color channel. If used as the internal format of a QOpenGLFramebufferObject the OpenGL paint engine is able to render in full precision if supported by the OpenGL driver.
    • WinRT: Added support for native file dialogs
  • Qt Core
    • WinRT: Added support for native settings container (local and roaming)
    • QStorageInfo: Class for providing information about currently mounted storage volumes and drives.
    • QByteArrayList: Convenience class adding similar extra methods on top of QList<QByteArray> as QStringList does to QList<QString>.
    • QTabletEvent: added information about which stylus buttons are pressed; rotation and tangentialPressure have consistent ranges across platforms; proximity events include the type of stylus or other tool in use; manual tests and debug output are improved for better verification of functionality.
  • Qt Widgets
    • Improved scaling of widget styles based on DPI.
  • Qt QML:
    • Declarative State Machine (DSM): QML wrapper for Qt’s State Machine Framework.
  • Qt Quick:
    • QQuickRenderControl is made public. This API allows efficient rendering of Qt Quick 2 scenes into framebuffer objects. The contents can then be used in arbitrary ways in Qt-based or 3rd party OpenGL renderers.
    • Introduced overlay and “pull back” headers and footers for ListView
    • 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.
    • QQuickWidget is now supported on Android too.
  • Qt Quick Controls
    • Android style
  • Qt Bluetooth
    • Support for Bluez5
    • Tech Preview of Bluetooth Low Energy (client side support only, on Bluez 4 & 5)
  • QPA plugins
    • The Wayland platform plugin is now part of the release.
    • XCB will now support screen with a depth of 30 (10 bit per color channel).
    • More font settings are parsed by fontconfig and GTK platform backends.
    • More categorized logging is in use so that you can enable it in the standard ways (qtlogging.ini etc.) instead of needing to set obscure environment variables or uncomment #defines. The log also provides more complete information, especially about events.
    • Support for integer device pixel ratios larger than one has been added to the XCB plugin. The ratio is controlled by the environment variable QT_DEVICE_PIXEL_RATIO.
  • Qt WebEngine
    • New module with a web engine based on Chromium.
  • Qt WebKit
    • Added support for OpenGL accelerated 2D canvas to QtWebKitWidgets.
    • OpenGL acceleration now also works with QOpenGLWidget.
    • The Qt WebKit module is considered done. It will in future be replaced by Qt WebEngine. This applies to the Widgets as well as to the QML API of Qt WebKit.
  • Qt WebChannel
    • Introduction of a new module to bridge the gap between QML/C++ and HTML/JavaScript for Qt WebKit and other browser engines.
  • Qt Windows Extras
    • Multiple thumbnail images when hovering over an application’s taskbar.
  • Qt Sensors
    • Windows Phone: Added compass and ambient light sensors
  • Qt SQL
    • Windows Phone: Added support for sqlite

Platforms

  • Qt for WinRT supported platform
  • Windows Phone 8.1 minimum supported version

Deprecated features

  • Qt OpenGL:
    • The Qt OpenGL module (which contain classes that start with “QGL”) is now deprecated in favor of the Qt GUI module (which contain classes that start with “QOpenGL”). QGLWidget can now be replaced by QOpenGLWidget.

Categories: