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
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
|
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
** This file contains pre-release code and may not be distributed.
** You may use this file in accordance with the terms and conditions
** contained in the Technology Preview License Agreement accompanying
** this package.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain
** additional rights. These rights are described in the Nokia Qt LGPL
** Exception version 1.1, included in the file LGPL_EXCEPTION.txt in this
** package.
**
** If you have questions regarding the use of this file, please contact
** Nokia at qt-info@nokia.com.
**
**
**
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
/*!
\page examples-overview.html
\title An Overview of Qt's Examples
\brief A short guide to the different categories of examples included with Qt.
\ingroup howto
Qt is supplied with a variety of examples that cover almost every aspect
of development. These examples are ordered by functional area, but many
examples often use features from many parts of Qt to highlight one area
in particular.
This document provides a brief overview of each example category and
provides links to the more formal \l{Qt Examples}{list of examples}.
\section1 \l{Qt Examples#Widgets}{Widgets}
\l{Qt Examples#Widgets}{\inlineimage widget-examples.png
}
Qt comes with a large range of standard widgets that users of modern
applications have come to expect.
You can also develop your own custom widgets and controls, and use them
alongside standard widgets.
It is even possible to provide custom styles and themes for widgets that can
be used to change the appearance of standard widgets and appropriately
written custom widgets.
\section1 \l{Qt Examples#Dialogs}{Dialogs}
\l{Qt Examples#Dialogs}{\inlineimage dialog-examples.png
}
Qt includes standard dialogs for many common operations, such as file
selection, printing, and color selection.
Custom dialogs can also be created for specialized modal or modeless
interactions with users.
\section1 \l{Qt Examples#Main Windows}{Main Windows}
\l{Qt Examples#Main Windows}{\inlineimage mainwindow-examples.png
}
All the standard features of application main windows are provided by Qt.
Main windows can have pull down menus, tool bars, and dock windows. These
separate forms of user input are unified in an integrated action system that
also supports keyboard shortcuts and accelerator keys in menu items.
\section1 \l{Qt Examples#Layouts}{Layouts}
\l{Qt Examples#Layouts}{\inlineimage layout-examples.png
}
Qt uses a layout-based approach to widget management. Widgets are arranged in
the optimal positions in windows based on simple layout rules, leading to a
consistent look and feel.
Custom layouts can be used to provide more control over the positions and
sizes of child widgets.
\section1 \l{Qt Examples#Painting}{Painting}
\l{Qt Examples#Painting}{\inlineimage painting-examples.png
}
Qt's painting system is able to render vector graphics, images, and outline
font-based text with sub-pixel accuracy accuracy using anti-aliasing to
improve rendering quality.
These examples show the most common techniques that are used when painting
with Qt, from basic concepts such as drawing simple primitives to the use of
transformations.
\section1 \l{Qt Examples#Item Views}{Item Views}
\l{Qt Examples#Item Views}{\inlineimage itemview-examples.png
}
Item views are widgets that typically display data sets. Qt 4's model/view
framework lets you handle large data sets by separating the underlying data
from the way it is represented to the user, and provides support for
customized rendering through the use of delegates.
\section1 \l{Qt Examples#Graphics View}{Graphics View}
\l{Qt Examples#Graphics View}{\inlineimage graphicsview-examples.png
}
Qt is provided with a comprehensive canvas through the GraphicsView
classes.
These examples demonstrate the fundamental aspects of canvas programming
with Qt.
\section1 \l{Qt Examples#Rich Text}{Rich Text}
\l{Qt Examples#Rich Text}{\inlineimage richtext-examples.png
}
Qt provides powerful document-oriented rich text engine that supports Unicode
and right-to-left scripts. Documents can be manipulated using a cursor-based
API, and their contents can be imported and exported as both HTML and in a
custom XML format.
\section1 \l{Qt Examples#Tools}{Tools}
\l{Qt Examples#Tools}{\inlineimage tool-examples.png
}
Qt is equipped with a range of capable tool classes, from containers and
iterators to classes for string handling and manipulation.
Other classes provide application infrastructure support, handling plugin
loading and managing configuration files.
\section1 \l{Qt Examples#Desktop}{Desktop}
\l{Qt Examples#Desktop}{\inlineimage desktop-examples.png
}
Qt provides features to enable applications to integrate with the user's
preferred desktop environment.
Features such as system tray icons, access to the desktop widget, and
support for desktop services can be used to improve the appearance of
applications and take advantage of underlying desktop facilities.
\section1 \l{Qt Examples#Drag and Drop}{Drag and Drop}
\l{Qt Examples#Drag and Drop}{\inlineimage draganddrop-examples.png
}
Qt supports native drag and drop on all platforms via an extensible
MIME-based system that enables applications to send data to each other in the
most appropriate formats.
Drag and drop can also be implemented for internal use by applications.
\section1 \l{Qt Examples#Threads}{Threads}
\l{Qt Examples#Threads}{\inlineimage thread-examples.png
}
Qt 4 makes it easier than ever to write multithreaded applications. More
classes have been made usable from non-GUI threads, and the signals and slots
mechanism can now be used to communicate between threads.
Additionally, it is now possible to move objects between threads.
\section1 \l{Qt Examples#Concurrent Programming}{Concurrent Programming}
The QtConcurrent namespace includes a collection of classes and functions
for straightforward concurrent programming.
These examples show how to apply the basic techniques of concurrent
programming to simple problems.
\section1 \l{Qt Examples#Network}{Network}
\l{Qt Examples#Network}{\inlineimage network-examples.png
}
Qt is provided with an extensive set of network classes to support both
client-based and server side network programming.
These examples demonstrate the fundamental aspects of network programming
with Qt.
\section1 \l{Qt Examples#XML}{XML}
\l{Qt Examples#XML}{\inlineimage xml-examples.png
}
XML parsing and handling is supported through SAX and DOM compliant APIs.
Qt's SAX compliant classes allow you to parse XML incrementally; the DOM
classes enable more complex document-level operations to be performed on
XML files.
\section1 \l{Qt Examples#XQuery, XPath}{XQuery, XPath}
Qt provides an XQuery/XPath engine, QtXmlPatterns, for querying XML
files and custom data models, similar to the model/view framework.
\section1 \l{Qt Examples#OpenGL}{OpenGL}
\l{Qt Examples#OpenGL}{\inlineimage opengl-examples.png
}
Qt provides support for integration with OpenGL implementations on all
platforms, giving developers the opportunity to display hardware accelerated
3D graphics alongside a more conventional user interface.
These examples demonstrate the basic techniques used to take advantage of
OpenGL in Qt applications.
\section1 \l{Qt Examples#SQL}{SQL}
\l{Qt Examples#SQL}{\inlineimage sql-examples.png
}
Qt provides extensive database interoperability, with support for products
from both open source and proprietary vendors.
SQL support is integrated with Qt's model/view architecture, making it easier
to provide GUI integration for your database applications.
\section1 \l{Qt Examples#Help System}{Help System}
\l{Qt Examples#Help System}{\inlineimage assistant-examples.png
}
Support for interactive help is provided by the Qt Assistant application.
Developers can take advantages of the facilities it offers to display
specially-prepared documentation to users of their applications.
\section1 \l{Qt Examples#Qt Designer}{Qt Designer}
\l{Qt Examples#Qt Designer}{\inlineimage designer-examples.png
}
Qt Designer is a capable graphical user interface designer that lets you
create and configure forms without writing code. GUIs created with
Qt Designer can be compiled into an application or created at run-time.
\section1 \l{Qt Examples#UiTools}{UiTools}
\l{Qt Examples#UiTools}{\inlineimage uitools-examples.png
}
Qt is equipped with a range of capable tool classes, from containers and
iterators to classes for string handling and manipulation.
Other classes provide application infrastructure support, handling plugin
loading and managing configuration files.
\section1 \l{Qt Examples#Qt Linguist}{Qt Linguist}
\l{Qt Examples#Qt Linguist}{\inlineimage linguist-examples.png
}
Internationalization is a core feature of Qt. These examples show how to
access translation and localization facilities at run-time.
\section1 \l{Qt Examples#Qt Script}{Qt Script}
\l{Qt Examples#Qt Script}{\inlineimage qtscript-examples.png
}
Qt is provided with a powerful embedded scripting environment through the QtScript
classes.
These examples demonstrate the fundamental aspects of scripting applications
with Qt.
\section1 \l{Qt Examples#Phonon Multimedia Framework}{Phonon Multimedia Framework}
\l{Qt Examples#Phonon Multimedia Framework}{\inlineimage phonon-examples.png
}
The Phonon Multimedia Framework brings multimedia support to Qt applications.
The examples and demonstrations provided show how to play music and movies
using the Phonon API.
\section1 \l{Qt Examples#WebKit}{WebKit}
\l{Qt Examples#WebKit}{\inlineimage webkit-examples.png
}
Qt provides an integrated Web browser component based on WebKit, the popular
open source browser engine.
These examples and demonstrations show a range of different uses for WebKit,
from displaying Web pages within a Qt user interface to an implementation of
a basic function Web browser.
\section1 \l{Qt Examples#Qt for Embedded Linux}{Qt for Embedded Linux}
\l{Qt Examples#Qt for Embedded Linux}{\inlineimage qt-embedded-examples.png
}
These examples show how to take advantage of features specifically designed
for use on systems with limited resources, specialized hardware, and small
screens.
\section1 \l{Qt Examples#ActiveQt}{ActiveQt}
Qt is supplied with a number of example applications and demonstrations that
have been written to provide developers with examples of the Qt API in use,
highlight good programming practice, and showcase features found in each of
Qt's core technologies.
The example and demo launcher can be used to explore the different categories
available. It provides an overview of each example, lets you view the
documentation in Qt Assistant, and is able to launch examples and demos.
\section1 \l{http://qt.nokia.com/doc/qq}{Another Source of Examples}
One more valuable source for examples and explanations of Qt
features is the archive of the \l {http://qt.nokia.com/doc/qq}
{Qt Quarterly}.
*/
|