blob: c1876b5e32c74a19e687b99f0b1f5656df58732c [file] [log] [blame]
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
** $QT_END_LICENSE$
**
****************************************************************************/
/*!
\page whatsnew51.html
\title What's New in Qt 5.1
\brief Lists the new features in Qt 5.1
Qt 5.1 introduces many changes for helping developers continue creating
wonderful applications, easily and with less code. As well in this release,
focus is placed on bug fixing and new features, while maintaining
compatibility with Qt 5.0.
This page is a summary of new features. For specific API changes, the
\l{List of API Changes} section contains links to new and obsolete classes.
\section1 New Modules
New modules add more functionality for developers to use on various
platforms.
\list
\li \l{Qt Quick Controls 1}{Qt Quick Controls} - a set of reusable UI
controls. Qt 5.1 targets desktop platforms, while future releases will
include more features useful on touch devices.
\li \l{Qt Quick Layouts} - provides layouts for \l{Qt Quick}
\li \l{Qt Quick Dialogs} - contains types for creating and
interacting with system dialogs
\li \l{Qt X11 Extras} - adds platform specific APIs for X11
\li \l{Qt Sensors} - provides access to sensor hardware and motion gesture
recognition both via QML and C++ interfaces. Supports \l{Qt for
Android}{Android}, BlackBerry, \l{Qt for iOS}{iOS}, and Mer platforms.
\li \l{Qt Serial Port} - provides an interface for hardware and virtual
serial ports
\endlist
The \l{All Modules} page contains a list of all modules in Qt 5.1.
\section1 New Supported Platforms
Qt 5.1 introduces support for following new platforms with technology
preview status:
\list
\li\l{Qt for Android} (Technology Preview)
\li\l{Qt for iOS} (Technology Preview)
\endlist
\section1 Summary of Changes
\section2 moc Changes
\list
\li New keyword in \l Q_PROPERTY(), \c MEMBER, lets you bind a property
to a class member without requiring to have a getter or a setter.
\endlist
\section2 qmake Changes
\list
\li On Windows: Added support for specifying application icon
(via \c{RC_ICONS}).
\endlist
\section2 Qt Core Changes
\list
\li Added support for SHA3 to QCryptographicHash
\li Added toInt(), toUInt(), and similar functions to QStringRef
\li A new threadsafe initialization of global statics through refactored
\l Q_GLOBAL_STATIC.
\li A new class, QLockFile, provides locking between processes using a
file. This lock enables applications to check that there is only one
instance of it running.
\li A new class, QSaveFile, provides transaction such as file writing.
\endlist
\section2 Qt GUI Changes
\list
\li Support for embedding and reparenting of windows created from other
processes, via QWindow::fromWinId().
\li QWidget::createWindowContainer() adds the capability to embed
QWindow instances, such as QQuickView or a QWindow using
QOpenGLContext, into a QWidget hierarchy.
\li Support for kerning advances in QRawFont::advancesForGlyphIndexes.
\li QImageReader and QImageWriter adds the ability to report supported
MimeTypes.
\li New input method plugin, QComposeInputContext.
\li New GTK+ 2.x platformtheme plugin that provides native file, font,
and color dialogs.
\li New class, QOpenGLContext::versionFunctions(), provides access to
all OpenGL functions.
\li New QOpenGLTimerQuery and QOpenGLTimeMonitor classes.
\li New QOpenGLDebugLogger class expose KHR_debug extension for easy debugging.
\li Added support for Geometry, Tessellation Control,
Tessellation Evaluation, and Compute shaders to QOpenGLShader and
QOpenGLShaderProgram.
\li New QOpenGLVertexArrayObject class.
\endlist
\section2 Qt Network Changes
\list
\li New encrypted() signal to QNetworkAccessManager and QNetworkReply so
that applications can perform additional checks on the certificate
chain.
\li Support for sending intermediate certificates when QSslSocket is
used as a server and when using client certificates.
\li Support for SSL session reuse allowing much faster connections to
servers.
\endlist
\section2 Qt QML Changes
\list
\li New QQmlApplicationEngine convenience class for QML applications.
\li New Instantiatior type for generic, dynamic object creation.
\li New \l{QtQml.Models} module containing \l ListElement, \l ListModel,
\l DelegateModel, \l DelegateModelGroup, and \l ObjectModel.
\li New properties for \l [QML]{Qt::application}: arguments, name, and version.
\endlist
\section2 Qt Quick Changes
\list
\li New threaded render loop for Mac, Linux, and Embedded.
\li New render loop for windows for smoother animations.
\li New \l {Qt Quick Dialogs} submodule with \l FileDialog and
\l ColorDialog types.
\li New \l Window properties: activeFocusItem, minimumWidth,
minimumHeight, maximumWidth, maximumHeight, visibility,
contentOrientation, and opacity.
\li New \l Item property: activeFocusOnTab.
\li New \l Grid properties: horizontalAlignment, verticalAlignment, and
effectiveHorizontalAlignment.
\li New \l TextEdit properties: selectByKeyboard and textDocument
\li A \l Window declared inside another Window or \l Item will
automatically be transient for (centered upon) the outer window.
\endlist
\section2 Qt WebKit Changes
\list
\li JavaScript JIT on Windows 64 bit.
\li Improved font rendering, kerning enabled by default.
\li Improved garbage collection.
\li Support for WOFF fonts.
\li Support for WebGL without accelerated compositing.
\li Support for GStreamer 1.0.
\li Improved perceived page load performance and support for Link
prefetch.
\endlist
\section2 Qt Widgets Changes
\list
\li Added property toolTipsVisible in QMenu.
\endlist
\section2 Qt Creator Compatibility
\l{Qt Creator Manual}{Qt Creator} 2.7 complements this Qt release
with the most prominent new features:
\list
\li Improved C++11 code editing support
\li \l{Qt Creator: Editing QML Files in Design Mode}{Qt Quick Designer}
with full support for Qt Quick
\li Android \l{Qt Creator: Deploying Applications to Android Devices}{development target}
\li Experimental QBS and diff integration
\endlist
\section2 Other New Features
\list
\li Restored support for static Qt builds
\endlist
\section1 List of API Changes
The pages below contain a list of API changes in Qt 5.1
\list
\li \l{New Classes and Functions in Qt 5.1}
\li \l{Obsolete Classes}
\endlist
\section1 Additions to Other Qt 5 Releases
\list
\li \l{What's New in Qt 5.4}
\li \l{What's New in Qt 5.3}
\li \l{What's New in Qt 5.2}
\li \l{What's New in Qt 5.0}
\endlist
*/
/*!
\page newclasses51.html
\title New Classes and Functions in Qt 5.1
\brief A list of new C++ APIs in Qt 5.1
This page contains a comprehensive list of all new classes and functions
introduced in Qt 5.1. Links to new APIs in previous Qt 5 releases are found
at the bottom of this page.
\sincelist 5.1
\section1 Additions to Other Qt 5 Releases
\list
\li \l{What's New in Qt 5.6}
\li \l{What's New in Qt 5.5}
\li \l{What's New in Qt 5.4}
\li \l{What's New in Qt 5.3}
\li \l{What's New in Qt 5.2}
\li \l{What's New in Qt 5.0}
\endlist
*/