New Features in Qt 5.1

This is a list of new features slated to ship in Qt 5.1 release.

See also Qt 5 Features.

New Modules

  • Qt Quick Layouts
    • Provides layouts for Qt Quick.
  • Qt Quick Dialogs
    • Provides dialogs for Qt Quick.
  • Qt X11 Extras
    • Platform specific components / APIs for X11.
  • Qt Sensors
    • Provides access to sensor hardware and motion gesture recognition both via QML and C++ interfaces.
    • Supports Android, BlackBerry, iOS and Mer platforms.
  • Qt Serial Port
    • Provides an interface for hardware and virtual serial ports.

The full list of modules in Qt 5.1 is therefore as follows:

Essential Modules

  • moc
    • New keyword in Q_PROPERTY: MEMBER let you bind a property to a class member without requiring to have a getter or a setter.
  • qmake
    • Windows: Added support for specifying application icon (via RC_ICONS).
  • Qt Core
    • Add support for SHA3 to QCryptographicHash.
    • A new class QMessageAuthenticationCode offering support for HMAC.
    • Added toInt(), toUInt(), etc… functions to QStringRef.
    • Threadsafe initialization of global statics trough refactored Q_GLOBAL_STATIC.
    • New class QLockFile that provides locking between processes, using a file. This enables applications to check that there is only one instance of it running.
    • New class QSaveFile that provides transaction like file writing. Ensures that nothing or everything you asked for is written.
  • Qt GUI
    • Support for embedding and reparenting of windows created from other processes, via QWindow::fromWinId(); (implemented in the X11 backend only, using the XEmbed protocol).
    • QWidget::createWindowContainer() adds the capability to embed QWindow instances, such as QQuickView or a QWindow using QOpenGLContext, into a QWidget hierarchy.
    • Support for kerning advances in QRawFont::advancesForGlyphIndexes.
    • QImageReader and QImageWriter adds the ability to report supported MimeTypes.
    • New input method plugin QComposeInputContext.
    • New GTK+ 2.x platformtheme plugin that provides native file, font and color dialogs.
    • QOpenGLContext::versionFunctions() provides access to all OpenGL functions.
    • New QOpenGLTimerQuery and QOpenGLTimeMonitor classes.
    • New QOpenGLDebugLogger class expose KHR_debug extension for easy debugging.
    • Added support for Geometry, Tessellation Control, Tessellation Evaluation and Compute shaders to QOpenGLShader and QOpenGLShaderProgram.
    • New QOpenGLVertexArrayObject class.
  • Qt Multimedia
  • Qt Multimedia Widgets
  • Qt Network
    • Add a new encrypted() signal to QNetworkAccessManager and QNetworkReply so that applications can perform additional checks on the certificate chain.
    • Support for sending intermediate certificates when QSslSocket is used as a server, and when using client certificates.
    • Support for SSL session re-use allowing much faster connections to servers.
  • Qt QML
    • New QQmlApplicationEngine convenience class for QML applications.
    • New Instantiator type for generic, dynamic object creation
    • New QtQml.Models module containing ListElement, ListModel, DelegateModel, DelegateModelGroup and ObjectModel. These are all types which were previously in QtQuick (some have changed names) and the types are still available in the QtQuick module by the old names for compatibility.
    • New properties on Qt.application: arguments, name, version.
  • Qt Quick
    • New threaded render loop for Mac, Linux and Embedded.
    • New render loop for windows providing velvet animations.
    • New QtQuick.Dialogs module with FileDialog and ColorDialog types
    • New Window properties: activeFocusItem, minimumWidth, minimumHeight, maximumWidth, maximumHeight, visibility, contentOrientation, opacity
    • New Item property: activeFocusOnTab
    • New Grid properties: horizontalAlignment, verticalAlignment, effectiveHorizontalAlignment
    • New TextEdit properties: selectByKeyboard, textDocument
    • A Window declared inside another Window or Item will automatically be transient for (centered upon) the outer window
  • Qt Quick Controls
    • see section at top of page (“New Modules”)
  • Qt Quick Layouts
    • see section at top of page (“New Modules”)
  • Qt SQL
  • Qt Test
  • Qt WebKit
    • JavaScript JIT on Windows 64 bit.
    • Improved JavaScript performance on MIPS architecture (JIT DFG and LLInt).
    • Improved font rendering, kerning enabled by default.
    • Improved garbage collection.
    • Improved support for Flash on Mac.
    • Improved support for JavaScript requestAnimationFrame callback.
    • Support for WOFF fonts.
    • Support for GStreamer 1.0.
    • Improved perceived page load performance and support for Link prefetch
  • Qt WebKit Widgets
  • Qt Widgets
    • QMenu: [QTBUG-13663, QTBUG-2362] Added property toolTipsVisible.

Add-On Modules

  • Active Qt
  • Qt Concurrent
  • Qt D-Bus
  • Qt Declarative
  • Qt Graphical Effects
  • Qt Image Formats
  • Qt OpenGL
  • Qt Print Support
  • Qt Script
  • Qt Script Tools
  • Qt Sensors
  • Qt Serial Port
  • Qt SVG
  • Qt X11 Extras
  • Qt XML
  • Qt XML Patterns

Support for New Platforms

Qt 5.1 introduces support for following new platforms with technology preview status:

  • Qt for Android (Technology Preview)
  • Qt for iOS (Technology Preview)

Qt 5.1 re-introduces support for Windows Embedded Compact 7 (as Tier 2 platform)

Qt Creator

Qt Creator 2.7 has been integrated in this Qt release with the most prominent new features:

  • Improved C++11 code editing support
  • Qt Quick Designer with full support for Qt Quick2
  • Android development target
  • Experimental QBS and Diff Integration

Installation

  • Online installer packages/repositories
  • New reference installers
    • Qt for Android (Windows, Linux 32bit and 64bit hosts)
    • MSVC2012 64bit OpenGL
    • MSVC2012 32bit ANGLE
  • MInGW version upgraded from 4.7 to 4.8

Other New Features

  • Support for Static Qt builds
  • Perl build dependency removed (qtwebkit still has the perl dependency)

Categories: