Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.

New Features in Qt 5.4: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
m (JKSH moved page New-Features-in-Qt-5.4 to New Features in Qt 5.4: Title format)
Line 10: Line 10:
** QOpenGLContext is now able to adopt existing native contexts (EGL, GLX, …). This allows interop between Qt and other frameworks, like game engines.
** 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.
** 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.
** 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.
** QOpenGLWidget: The modern replacement for QGLWidget and the counterpart of QQuickWidget.
** QOpenGLWindow: Convenience class for performing OpenGL drawing onto a QWindow.
** QOpenGLWindow: Convenience class for performing OpenGL drawing onto a QWindow.
Line 87: Line 87:
* Qt Network
* Qt Network
** New bearer plugin for Android
** New bearer plugin for Android


== Platforms ==
== Platforms ==

Revision as of 10:41, 21 May 2015


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.
    • Android style now also works when not using Ministro for deployment


  • 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


  • Qt Network
    • New bearer plugin for Android

Platforms

  • Qt for WinRT supported platform
  • Windows Phone 8.1 minimum supported version
  • iOS
    • Accessibility support added. This enables Qt applications to be read by VoiceOver.
    • iOS port now uses fat builds with both 32-, and 64-bit support.
    • Improved support for iPhone6/6+.
    • QtQuick Controls now uses native text selection and popup menus.
    • Default theme fonts now uses Dynamic Type, which is based on user system settings.

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.