summaryrefslogtreecommitdiffstats
path: root/doc/src/whatsnew/whatsnew57.qdoc
blob: 8ad42471cb1782c9b0d015ae4a0d071673540755 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
/****************************************************************************
**
** 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 whatsnew56.html
    \title What's New in Qt 5.7
    \brief Lists the new features in Qt 5.7.

    \section1 New Modules

    The \l{Qt Quick Controls 2} module that was previously available as a
    technology preview is now a fully supported module, providing the
    following features:

    \list
     \li A new light-weight set of embedded and mobile-oriented controls.
     \li Based on a flexible template system that enables rapid development of
         entire custom styles and user experiences.
     \li Built-in styles:
      \list
       \li Default style - a simple and minimal all-round style that offers
           maximum performance.
       \li Material style - a style based on the Google Material Design
           Guidelines.
       \li Universal style - a style based on the Microsoft Universal Design
           Guidelines.
      \endlist
     \li Can be mixed with Qt Quick Controls 1.0, but the APIs are not compatible.
    \endlist

    The following modules that were previously commercial-only, are now
    available under GPLv3 license for the open source users:

    \list
    \li \l{Qt Quick 2D Renderer}
        \list
        \li Enables running Qt Quick applications on hardware without OpenGL.
        \endlist

    \li \l{Qt Charts}
     \list
         \li Provides ready to use controls for depicting different types
             of 2D charts and graphs.
     \endlist

    \li \l{Qt Data Visualization}
     \list
         \li Enables visualizing data using 3D charts and graphs.
     \endlist

    \li \l{Qt Purchasing}
     \list
         \li Provides API to support in-app purchasing use cases with
             Google Play and Apple Store.
     \endlist
    \endlist

    In addition, the following new modules are available as technology preview
    releases, enabling Qt users to provide feedback:

    \list
    \li \l{Qt Gamepad}
     \list
      \li Enables Qt gaming applications to respond to gamepad input.
     \endlist
    \li \l{Qt SCXML}
     \list
      \li Enables static and runtime integration of SCXML models into Qt code.
     \endlist
    \endlist

    \section1 New Features in Qt 5.7

    \section2 Qt 3D Module
    \list
     \li Added support for Compute Shaders on supported hardware.
     \li Added support for loading multi-image DDS and KTX textures including
         cubemaps, mip chains, and array textures.
     \li Improved support for compressed texture formats.
     \li Made Render surface explicit.
     \li Extended Input API and support for device plugins.
     \li Improved picking support.
    \endlist

    \section2 Qt Core Module
    \list
        \li Added \c qAsConst function to help using non-const Qt containers in
            C++11 range for loops.
        \li Enabled Qt event dispatchers to use the \c poll() function on Unix
            now, making it possible for applications to have file
            descriptors greater than 1024.
        \li Added support for converting a floating point to its shortest and
            exact string form, without having to pre-calculate the number of
            digits.
        \li Improved C++11 support by using \c std::atomic as backend for
            QAtomic classes and adding QTypeInfo for \c char16_t and
            \c char32_t.
        \li Added QIODevice support for multi-streaming.
        \li Enabled QPluginLoader to work even if \c QT_NO_LIBRARY is set (for
            example, linking against a static libc).
    \endlist

    \section2 Qt Canvas3D Module
    \list
        \li Upgraded the \e three.js 3rd party library.
    \endlist

    \section2 Qt GUI Module
    \list
        \li Optimized QImage smooth scaling for NEON.
        \li Optimized the OpenGL function wrappers for speed and code size.
            The QtGui library size has been significantly reduced due to a
            massive reduction in symbols.
    \endlist

    \section2 Qt Multimedia Module
    \list
        \li Added support for tvOS.
        \li Extended QML playlist API.
    \endlist

    \section2 Qt Platform Abstraction (QPA)
    \list
        \li Added support for NVIDIA DRIVE CX boards (Tegra X1, AArch64).
        \li Improved support for theming with \e eglfs.
        \li Enabled QMenuBar to use the unified D-Bus AppMenu menubar on
            supported X11-based desktop environments such as Ubuntu Unity.
        \li Added support for creating Android services.
    \endlist

    \section2 Qt QML Module
    \list
        \li Added JIT support for WinRT on x86 and x64.
        \li Enabled JIT for 64-bit ARM Linux platforms.
        \li Enabled all debug services to work with QJSEngine
            (instead of QQmlEngine), which allows non-QML JavaScript
            debugging or profiling.
        \li Added support for debugging multiple QJSEngine instances at the same
            time.
    \endlist

    \section2 Qt Quick Module
    \list
        \li Added support for all subclasses of QQuickWindow by the inspector
            service, which makes Qt Creator's inspection feature useful.
    \endlist

    \section2 Qt WebEngine Module

    \list
        \li Upgraded to Chromium 49 release.
        \li Added support for drag and drop, and printing to PDF.
        \li Added tab notification for audio being played.
        \li Added support for playing DRM-protected HTML5 video using Widevine
            Pepper plugin.
        \li Added API for evaluating JavaScript or installing QWebchannel in
            secure and isolated JavaScript worlds.
        \li Improved support for custom context menus.
    \endlist

    \section2 Qt Widgets Module
    \list
        \li Enabled QTabBar to delegate placement of tab scroll buttons to the
            style.
        \li Enabled Qt Style Sheets to optionally let widgets inherit font and
            palette from their parents.
    \endlist

    \section1 Removed Functionality
    \list
        \li Qt Enginio
    \endlist

    \section1 Deprecated Functionality
    \list
        \li Qt Script
    \endlist

    Deprecated modules are still included in Qt 5.7, but are considered for removal
    in future releases.

    \section1 List of API Changes

    The pages below contain a list of API changes in Qt 5.7:
    \list
    \li \l{New Classes and Functions in Qt 5.7}
    \li \l{Obsolete Classes}
    \endlist

    \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.1}
        \li \l{What's New in Qt 5.0}
    \endlist

*/

/*!
    \page newclasses57.html
    \title New Classes and Functions in Qt 5.7
    \brief A list of new APIs in Qt 5.7.

    This page contains a comprehensive list of all new classes and functions
    introduced in Qt 5.7. Links to new APIs in previous Qt 5 releases are found
    at the bottom of this page.

    \sincelist 5.7

    \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.1}
        \li \l{What's New in Qt 5.0}
    \endlist
*/