source: trunk/doc/src/modules.qdoc@ 564

Last change on this file since 564 was 561, checked in by Dmitry A. Kuminov, 15 years ago

trunk: Merged in qt 4.6.1 sources.

File size: 41.2 KB
Line 
1/****************************************************************************
2**
3** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
4** All rights reserved.
5** Contact: Nokia Corporation ([email protected])
6**
7** This file is part of the documentation of the Qt Toolkit.
8**
9** $QT_BEGIN_LICENSE:LGPL$
10** Commercial Usage
11** Licensees holding valid Qt Commercial licenses may use this file in
12** accordance with the Qt Commercial License Agreement provided with the
13** Software or, alternatively, in accordance with the terms contained in
14** a written agreement between you and Nokia.
15**
16** GNU Lesser General Public License Usage
17** Alternatively, this file may be used under the terms of the GNU Lesser
18** General Public License version 2.1 as published by the Free Software
19** Foundation and appearing in the file LICENSE.LGPL included in the
20** packaging of this file. Please review the following information to
21** ensure the GNU Lesser General Public License version 2.1 requirements
22** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
23**
24** In addition, as a special exception, Nokia gives you certain additional
25** rights. These rights are described in the Nokia Qt LGPL Exception
26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
27**
28** GNU General Public License Usage
29** Alternatively, this file may be used under the terms of the GNU
30** General Public License version 3.0 as published by the Free Software
31** Foundation and appearing in the file LICENSE.GPL included in the
32** packaging of this file. Please review the following information to
33** ensure the GNU General Public License version 3.0 requirements will be
34** met: http://www.gnu.org/copyleft/gpl.html.
35**
36** If you have questions regarding the use of this file, please contact
37** Nokia at [email protected].
38** $QT_END_LICENSE$
39**
40****************************************************************************/
41
42/*!
43 \group modules
44 \title All Qt Modules
45 \startpage index.html Qt Reference Documentation
46 \nextpage QtCore
47
48 \ingroup classlists
49
50 \brief Qt 4 comprises several modules. Each module is a separate
51 library.
52
53 \table 80%
54 \header \o {2,1} \bold{Modules for general software development}
55 \row \o \l{QtCore} \o Core non-graphical classes used by other modules
56 \row \o \l{QtGui} \o Graphical user interface (GUI) components
57 \row \o \l{QtMultimedia} \o Classes for low-level multimedia functionality
58 \row \o \l{QtNetwork} \o Classes for network programming
59 \row \o \l{QtOpenGL} \o OpenGL support classes
60 \row \o \l{QtOpenVG} \o OpenVG support classes
61 \row \o \l{QtScript} \o Classes for evaluating Qt Scripts
62 \row \o \l{QtScriptTools} \o Additional Qt Script components
63 \row \o \l{QtSql} \o Classes for database integration using SQL
64 \row \o \l{QtSvg} \o Classes for displaying the contents of SVG files
65 \row \o \l{QtWebKit} \o Classes for displaying and editing Web content
66 \row \o \l{QtXml} \o Classes for handling XML
67 \row \o \l{QtXmlPatterns} \o An XQuery & XPath engine for XML and custom data models
68 \row \o \l{Phonon Module}{Phonon} \o Multimedia framework classes
69 \row \o \l{Qt3Support} \o Qt 3 compatibility classes
70 \header \o {2,1} \bold{Modules for working with Qt's tools}
71 \row \o \l{QtDesigner} \o Classes for extending \QD
72 \row \o \l{QtUiTools} \o Classes for handling \QD forms in applications
73 \row \o \l{QtHelp} \o Classes for online help
74 \row \o \l{QtTest} \o Tool classes for unit testing
75 \header \o {2,1} \bold{Modules for Windows developers}
76 \row \o \l{QAxContainer} \o Extension for accessing ActiveX controls
77 \row \o \l{QAxServer} \o Extension for writing ActiveX servers
78 \header \o {2,1} \bold{Modules for Unix developers}
79 \row \o \l{QtDBus} \o Classes for Inter-Process Communication using the D-Bus
80 \endtable
81
82 If you use \l qmake to build your projects, the QtCore and QtGui
83 modules are included by default. To link only against QtCore, add
84 the following line to your \c .pro file:
85
86 \snippet doc/src/snippets/code/doc_src_modules.qdoc 0
87
88 On Windows, if you do not use \l qmake
89 or other build tools such as CMake, you also need to link against
90 the \c qtmain library.
91
92 \sa {Class and Function Documentation}
93*/
94
95/*!
96 \module QtCore
97 \title QtCore Module
98 \contentspage All Qt Modules
99 \previouspage All Qt Modules
100 \nextpage QtGui
101 \ingroup modules
102
103 \keyword QtCore
104
105 \brief The QtCore module contains core non-GUI functionality.
106
107 All other Qt modules rely on this module. To include the
108 definitions of the module's classes, use the following directive:
109
110 \snippet doc/src/snippets/code/doc_src_qtcore.qdoc 0
111
112 The QtCore module is part of all \l{Qt editions}.
113*/
114
115
116/*!
117 \module QtGui
118 \title QtGui Module
119 \contentspage All Qt Modules
120 \previouspage QtCore
121 \nextpage QtNetwork
122 \ingroup modules
123
124 \brief The QtGui module extends QtCore with GUI functionality.
125
126 To include the definitions of both modules' classes, use the
127 following directive:
128
129 \snippet doc/src/snippets/code/doc_src_qtgui.qdoc 0
130
131 The QtGui module is part of the \l{Qt GUI Framework Edition},
132 the \l{Qt Full Framework Edition}, and the \l{Open Source Versions of Qt}.
133*/
134
135/*!
136 \module QtMultimedia
137 \title QtMultimedia Module
138 \contentspage All Qt Modules
139 \previouspage QtCore
140 \nextpage QtNetwork
141 \ingroup modules
142
143 \brief The QtMultimedia module provides low-level multimedia functionality.
144
145 To include the definitions of the module's classes, use the
146 following directive:
147
148 \snippet doc/src/snippets/code/doc_src_qtmultimedia.qdoc 1
149
150 To link against the module, add this line to your \l qmake \c
151 .pro file:
152
153 \snippet doc/src/snippets/code/doc_src_qtmultimedia.qdoc 0
154
155 The functionality provided by the \l{Phonon Module} is on a higher level
156 and in many cases more suitable for application developers.
157*/
158
159/*!
160 \module QtNetwork
161 \title QtNetwork Module
162 \contentspage All Qt Modules
163 \previouspage QtMultimedia
164 \nextpage QtOpenGL
165 \ingroup modules
166
167 \brief The QtNetwork module provides classes to make network programming
168 easier and portable.
169
170 To include the definitions of the module's classes, use the
171 following directive:
172
173 \snippet doc/src/snippets/code/doc_src_qtnetwork.qdoc 1
174
175 To link against the module, add this line to your \l qmake \c
176 .pro file:
177
178 \snippet doc/src/snippets/code/doc_src_qtnetwork.qdoc 0
179
180 The QtNetwork module is part of the \l{Qt Full Framework Edition} and the
181 \l{Open Source Versions of Qt}.
182*/
183
184/*!
185 \module QtOpenGL
186 \title QtOpenGL Module
187 \contentspage All Qt Modules
188 \previouspage QtNetwork
189 \nextpage QtOpenVG
190 \ingroup modules
191
192 \brief The QtOpenGL module offers classes that make it easy to
193 use OpenGL in Qt applications.
194
195 OpenGL is a standard API for rendering 3D graphics. OpenGL only
196 deals with 3D rendering and provides little or no support for GUI
197 programming issues. The user interface for an OpenGL application
198 must be created with another toolkit, such as Motif on the X
199 platform, Microsoft Foundation Classes (MFC) under Windows, or Qt
200 on both platforms.
201
202 \note OpenGL is a trademark of Silicon Graphics, Inc. in
203 the United States and other countries.
204
205 The Qt OpenGL module makes it easy to use OpenGL in Qt applications.
206 It provides an OpenGL widget class that can be used just like any
207 other Qt widget, except that it opens an OpenGL display buffer where
208 you can use the OpenGL API to render the contents.
209
210 To include the definitions of the module's classes, use the
211 following directive:
212
213 \snippet doc/src/snippets/code/doc_src_qtopengl.qdoc 0
214
215 To link against the module, add this line to your \l qmake \c
216 .pro file:
217
218 \snippet doc/src/snippets/code/doc_src_qtopengl.qdoc 1
219
220 The Qt OpenGL module is implemented as a platform-independent Qt/C++
221 wrapper around the platform-dependent GLX (version 1.3 or later),
222 WGL, or AGL C APIs. Although the basic functionality provided is very
223 similar to Mark Kilgard's GLUT library, applications using the Qt
224 OpenGL module can take advantage of the whole Qt API for
225 non-OpenGL-specific GUI functionality.
226
227 The QtOpenGL module is part of the \l{Qt Full Framework Edition} and the
228 \l{Open Source Versions of Qt}. It is available on Windows, X11, and Mac OS X.
229 \l{Qt for Embedded Linux and OpenGL} supports OpenGL ES (OpenGL for Embedded Systems).
230 \note To be able to use the OpenGL API in \l{Qt for Embedded Linux}, it must be
231 integrated with the Q Window System (QWS). See the
232 \l{Qt for Embedded Linux and OpenGL} documentation for details.
233
234*/
235
236/*!
237 \module QtOpenVG
238 \title QtOpenVG Module
239 \since 4.6
240 \contentspage All Qt Modules
241 \previouspage QtOpenGL
242 \nextpage QtScript
243 \ingroup modules
244
245 \brief The QtOpenVG module is a plugin that provides support for
246 OpenVG painting.
247
248 OpenVG is a standard API from the
249 \l{http://www.khronos.org/openvg}{Khronos Group} for accelerated
250 2D vector graphics that is appearing in an increasing number of
251 embedded devices.
252
253 OpenVG support can be enabled by passing the \c{-openvg} option
254 to configure. It is assumed that the following qmake variables
255 are set to appropriate values in the qmake.conf file for your
256 platform:
257
258 \list
259 \o QMAKE_INCDIR_OPENVG
260 \o QMAKE_LIBDIR_OPENVG
261 \o QMAKE_LIBS_OPENVG
262 \endlist
263
264 Most OpenVG implementations are based on EGL, so the following
265 variables may also need to be set:
266
267 \list
268 \o QMAKE_INCDIR_EGL
269 \o QMAKE_LIBDIR_EGL
270 \o QMAKE_LIBS_EGL
271 \endlist
272
273 See \l{qmake Variable Reference} for more information on these variables.
274
275 Two kinds of OpenVG engines are currently supported: EGL based,
276 and engines built on top of OpenGL such as
277 \l{http://sourceforge.net/projects/shivavg}{ShivaVG}.
278 EGL based engines are preferred.
279
280 Once the graphics system plugin has been built and installed,
281 applications can be run as follows to use the plugin:
282
283 \code
284 app -graphicssystem OpenVG
285 \endcode
286
287 If ShivaVG is being used, then substitute \c ShivaVG instead of
288 \c OpenVG in the line above.
289*/
290
291/*!
292 \module QtScript
293 \title QtScript Module
294 \since 4.3
295 \contentspage All Qt Modules
296 \previouspage QtOpenVG
297 \nextpage QtScriptTools
298 \ingroup modules
299
300 \brief The QtScript module provides classes for making Qt applications scriptable.
301
302 The QtScript module only provides core scripting facilities; the
303 QtScriptTools module provides additional Qt Script-related
304 components that application developers may find useful.
305
306 \tableofcontents
307
308 To include the definitions of the module's classes, use the
309 following directive:
310
311 \snippet doc/src/snippets/code/doc_src_qtscript.qdoc 0
312
313 To link against the module, add this line to your \l qmake \c .pro file:
314
315 \snippet doc/src/snippets/code/doc_src_qtscript.qdoc 1
316
317 For detailed information on how to make your application
318 scriptable with QtScript, see \l{Making Applications
319 Scriptable}.
320
321 The QtScript module is part of the \l{Qt Full Framework Edition} and the
322 \l{Open Source Versions of Qt}.
323
324 \section1 License Information
325
326 Qt Commercial Edition licensees that wish to distribute applications that
327 use the QtScript module need to be aware of their obligations under the
328 GNU Library General Public License (LGPL).
329
330 Developers using the Open Source Edition can choose to redistribute
331 the module under the appropriate version of the GNU LGPL.
332
333 \legalese
334 QtScript is licensed under the GNU Library General Public License.
335 Individual contributor names and copyright dates can be found
336 inline in the code.
337
338 This library is free software; you can redistribute it and/or
339 modify it under the terms of the GNU Library General Public
340 License as published by the Free Software Foundation; either
341 version 2 of the License, or (at your option) any later version.
342
343 This library is distributed in the hope that it will be useful,
344 but WITHOUT ANY WARRANTY; without even the implied warranty of
345 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
346 Library General Public License for more details.
347
348 You should have received a copy of the GNU Library General Public License
349 along with this library; see the file COPYING.LIB. If not, write to
350 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
351 Boston, MA 02110-1301, USA.
352 \endlegalese
353
354*/
355
356/*!
357 \module QtScriptTools
358 \title QtScriptTools Module
359 \since 4.5
360 \contentspage All Qt Modules
361 \previouspage QtScript
362 \nextpage QtSql
363 \ingroup modules
364
365 \brief The QtScriptTools module provides additional components for applications that use Qt Script.
366
367 \tableofcontents
368
369 \section1 Configuring the Build Process
370
371 Applications that use the Qt Script Tools classes need to
372 be configured to be built against the QtScriptTools module.
373 To include the definitions of the module's classes, use the
374 following directive:
375
376 \snippet doc/src/snippets/code/doc.src.qtscripttools.qdoc 0
377
378 To link against the module, add this line to your \l qmake \c .pro file:
379
380 \snippet doc/src/snippets/code/doc.src.qtscripttools.qdoc 1
381
382 The QtScriptTools module is part of the \l{Qt Full Framework Edition} and
383 the \l{Open Source Versions of Qt}.
384*/
385
386/*!
387 \module QtSql
388 \title QtSql Module
389 \contentspage All Qt Modules
390 \previouspage QtScript
391 \nextpage QtSvg
392 \ingroup modules
393
394 To include the definitions of the module's classes, use the
395 following directive:
396
397 \snippet doc/src/snippets/code/doc_src_qtsql.qdoc 0
398
399 To link against the module, add this line to your \l qmake \c
400 .pro file:
401
402 \snippet doc/src/snippets/code/doc_src_qtsql.qdoc 1
403
404 The QtSql module is part of the \l{Qt Full Framework Edition} and the
405 \l{Open Source Versions of Qt}.
406
407 See the \l{SQL Programming} guide for information about using this
408 module in your applications.
409*/
410
411/*!
412 \module QtSvg
413 \title QtSvg Module
414 \since 4.1
415 \contentspage All Qt Modules
416 \previouspage QtSql
417 \nextpage QtWebKit
418 \ingroup modules
419
420 \brief The QtSvg module provides classes for displaying and creating SVG files.
421
422 To include the definitions of the module's classes, use the
423 following directive:
424
425 \snippet doc/src/snippets/code/doc_src_qtsvg.qdoc 0
426
427 To link against the module, add this line to your \l qmake \c
428 .pro file:
429
430 \snippet doc/src/snippets/code/doc_src_qtsvg.qdoc 1
431
432 The QtSvg module is part of the \l{Qt Full Framework Edition} and the
433 \l{Open Source Versions of Qt}.
434
435 \section1 License Information
436
437 Some code for arc handling in this module is derived from code with
438 the following license:
439
440 \legalese
441 Copyright 2002 USC/Information Sciences Institute
442
443 Permission to use, copy, modify, distribute, and sell this software
444 and its documentation for any purpose is hereby granted without
445 fee, provided that the above copyright notice appear in all copies
446 and that both that copyright notice and this permission notice
447 appear in supporting documentation, and that the name of
448 Information Sciences Institute not be used in advertising or
449 publicity pertaining to distribution of the software without
450 specific, written prior permission. Information Sciences Institute
451 makes no representations about the suitability of this software for
452 any purpose. It is provided "as is" without express or implied
453 warranty.
454
455 INFORMATION SCIENCES INSTITUTE DISCLAIMS ALL WARRANTIES WITH REGARD
456 TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
457 MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL INFORMATION SCIENCES
458 INSTITUTE BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
459 DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
460 OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
461 TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
462 PERFORMANCE OF THIS SOFTWARE.
463 \endlegalese
464*/
465
466/*!
467 \module QtXml
468 \title QtXml Module
469 \contentspage All Qt Modules
470 \previouspage QtSvg
471 \nextpage QtXmlPatterns
472 \ingroup modules
473
474 \brief The QtXml module provides a stream reader and writer for
475 XML documents, and C++ implementations of SAX and DOM.
476
477 To include the definitions of the module's classes, use the
478 following directive:
479
480 \snippet doc/src/snippets/code/doc_src_qtxml.qdoc 0
481
482 To link against the module, add this line to your \l qmake \c
483 .pro file:
484
485 \snippet doc/src/snippets/code/doc_src_qtxml.qdoc 1
486
487 Further XML support is provided by the \l{Qt Solutions} group who
488 provide, for example, classes that support SOAP and MML with the
489 Qt XML classes.
490
491 This module is part of the \l{Qt Full Framework Edition} and the
492 \l{Open Source Versions of Qt}.
493*/
494
495/*!
496 \module QtXmlPatterns
497 \title QtXmlPatterns Module
498 \since 4.4
499 \contentspage All Qt Modules
500 \previouspage QtXml
501 \nextpage Phonon Module
502 \ingroup modules
503
504 \brief The QtXmlPatterns module provides support for XPath,
505 XQuery, XSLT and XML Schema validation.
506
507 To include the definitions of the module's classes, use the
508 following directive:
509