source: trunk/doc/src/getting-started/examples.qdoc@ 624

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

trunk: Merged in qt 4.6.1 sources.

  • Property svn:eol-style set to native
File size: 41.5 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 \page examples-overview.html
44 \raw HTML
45 <script>
46 document.location.href = "examples.html";
47 </script>
48 \endraw
49 Click this \l{Qt Examples}{link} if you don't get redirected.
50*/
51
52/*!
53 \page examples.html
54 \title Qt Examples
55 \brief The example programs provided with Qt.
56
57 \previouspage Tutorials
58 \contentspage How to Learn Qt
59 \nextpage Qt Demonstrations
60
61 Qt is supplied with a variety of examples that cover almost every aspect
62 of development. They are not all designed to be impressive when you run
63 them, but their source code is carefully written to show good Qt
64 programming practices. You can launch any of these programs from the
65 \l{Examples and Demos Launcher} application.
66
67 These examples are ordered by functional area, but many examples often
68 use features from many parts of Qt to highlight one area in particular.
69 If you are new to Qt, you should probably start by going through the
70 \l{Tutorials} before you have a look at the
71 \l{mainwindows/application}{Application} example.
72
73 In addition to the examples and the tutorial, Qt includes a
74 \l{Qt Demonstrations}{selection of demos} that deliberately show off
75 Qt's features. You might want to look at these as well.
76
77 \table
78 \row
79 \o{2,1} \l{Widgets Examples}{\bold Widgets}
80 \o{2,1} \l{Dialog Examples}{\bold Dialogs}
81 \row
82 \o \image widget-examples.png
83 \o
84 Qt comes with a large range of standard widgets that users of modern
85 applications have come to expect. You can also develop your own custom
86 widgets and controls, and use them alongside standard widgets.
87
88 It is even possible to provide custom styles and themes for widgets that can
89 be used to change the appearance of standard widgets and appropriately
90 written custom widgets.
91
92 \o \image dialog-examples.png Dialogs
93 \o
94 Qt includes standard dialogs for many common operations, such as file
95 selection, printing, and color selection.
96
97 Custom dialogs can also be created for specialized modal or modeless
98 interactions with users.
99
100 \row
101 \o{2,1} \l{Main Window Examples}{\bold{Main Windows}}
102 \o{2,1} \l{Layout Examples}{\bold Layouts}
103
104 \row
105 \o \image mainwindow-examples.png MainWindows
106 \o All the standard features of application main windows are provided by Qt.
107
108 Main windows can have pull down menus, tool bars, and dock windows. These
109 separate forms of user input are unified in an integrated action system that
110 also supports keyboard shortcuts and accelerator keys in menu items.
111
112 \o \image layout-examples.png Layouts
113 \o
114 Qt uses a layout-based approach to widget management. Widgets are arranged in
115 the optimal positions in windows based on simple layout rules, leading to a
116 consistent look and feel.
117
118 Custom layouts can be used to provide more control over the positions and
119 sizes of child widgets.
120
121 \row
122 \o{2,1} \l{Item Views Examples}{\bold{Item Views}}
123 \o{2,1} \l{Graphics View Examples}{\bold{Graphics View}}
124 \row
125 \o \image itemview-examples.png ItemViews
126 \o
127 Item views are widgets that typically display data sets. Qt 4's model/view
128 framework lets you handle large data sets by separating the underlying data
129 from the way it is represented to the user, and provides support for
130 customized rendering through the use of delegates.
131
132 \o \image graphicsview-examples.png GraphicsView
133 \o
134 Qt is provided with a comprehensive canvas through the GraphicsView
135 classes.
136
137 \row
138 \o{2,1} \l{Painting Examples}{\bold{Painting}}
139 \o{2,1} \l{Rich Text Examples}{\bold{Rich Text}}
140 \row
141 \o \image painting-examples.png Painting
142 \o
143 Qt's painting system is able to render vector graphics, images, and outline
144 font-based text with sub-pixel accuracy accuracy using anti-aliasing to
145 improve rendering quality.
146
147 \o \image richtext-examples.png RichText
148 \o
149 Qt provides powerful document-oriented rich text engine that supports Unicode
150 and right-to-left scripts. Documents can be manipulated using a cursor-based
151 API, and their contents can be imported and exported as both HTML and in a
152 custom XML format.
153
154 \row
155 \o{2,1} \l{Desktop Examples}{\bold Desktop}
156 \o{2,1} \l{Drag and Drop Examples}{\bold{Drag and Drop}}
157 \row
158 \o \image desktop-examples.png
159 \o
160 Qt provides features to enable applications to integrate with the user's
161 preferred desktop environment.
162
163 Features such as system tray icons, access to the desktop widget, and
164 support for desktop services can be used to improve the appearance of
165 applications and take advantage of underlying desktop facilities.
166
167 \o \image draganddrop-examples.png DragAndDrop
168 \o
169 Qt supports native drag and drop on all platforms via an extensible
170 MIME-based system that enables applications to send data to each other in the
171 most appropriate formats.
172
173 Drag and drop can also be implemented for internal use by applications.
174
175 \row
176 \o{2,1} \l{Threading and Concurrent Programming Examples}{\bold{Threading and Concurrent Programming}}
177 \o{2,1} \l{Tools Examples}{\bold{Tools}}
178 \row
179 \o \image thread-examples.png
180 \o
181 Qt 4 makes it easier than ever to write multithreaded applications. More
182 classes have been made usable from non-GUI threads, and the signals and slots
183 mechanism can now be used to communicate between threads.
184
185 The QtConcurrent namespace includes a collection of classes and functions
186 for straightforward concurrent programming.
187
188 \o \image tool-examples.png Tools
189 \o
190 Qt is equipped with a range of capable tool classes, from containers and
191 iterators to classes for string handling and manipulation.
192
193 Other classes provide application infrastructure support, handling plugin
194 loading and managing configuration files.
195
196 \row
197 \o{2,1} \l{Network Examples}{\bold{Network}}
198 \o{2,1} \l{Inter-Process Communication Examples}{\bold{Inter-Process Communication}}
199 \row
200 \o \image network-examples.png Network
201 \o
202 Qt is provided with an extensive set of network classes to support both
203 client-based and server side network programming.
204
205 \o \image ipc-examples.png IPC
206 \o
207
208 \row
209 \o{2,1} \l{OpenGL Examples}{\bold{OpenGL}}\bold{ and }\l{OpenVG Examples}{\bold{OpenVG}}\bold{ Examples}
210 \o{2,1} \l{Multimedia Examples}{\bold{Multimedia Framework}}
211 \row
212 \o \image opengl-examples.png OpenGL
213 \o
214 Qt provides support for integration with OpenGL implementations on all
215 platforms, giving developers the opportunity to display hardware accelerated
216 3D graphics alongside a more conventional user interface.
217
218 Qt provides support for integration with OpenVG implementations on
219 platforms with suitable drivers.
220
221 \o \image phonon-examples.png
222 \o
223 Qt provides low-level audio support on linux,windows and mac platforms by default and
224 an audio plugin API to allow developers to implement there own audio support for
225 custom devices and platforms.
226
227 The Phonon Multimedia Framework brings multimedia support to Qt applications.
228
229 \row
230 \o{2,1} \l{SQL Examples}{\bold{SQL}}
231 \o{2,1} \l{XML Examples}{\bold{XML}}
232 \row
233 \o \image sql-examples.png SQL
234 \o
235 Qt provides extensive database interoperability, with support for products
236 from both open source and proprietary vendors.
237
238 SQL support is integrated with Qt's model/view architecture, making it easier
239 to provide GUI integration for your database applications.
240
241 \o \image xml-examples.png XML
242 \o
243 XML parsing and handling is supported through SAX and DOM compliant APIs
244 as well as streaming classes.
245
246 The XQuery/XPath and XML Schema engines in the QtXmlPatterns modules
247 provide classes for querying XML files and custom data models.
248
249 \row
250 \o{2,1} \l{Qt Designer Examples}{\bold{Qt Designer}}
251 \o{2,1} \l{UiTools Examples}{\bold UiTools}
252 \row
253 \o \image designer-examples.png Designer
254 \o
255 Qt Designer is a capable graphical user interface designer that lets you
256 create and configure forms without writing code. GUIs created with
257 Qt Designer can be compiled into an application or created at run-time.
258
259 \o \image uitools-examples.png UiTools
260 \o
261
262 \row
263 \o{2,1} \l{Qt Linguist Examples}{\bold{Qt Linguist}}
264 \o{2,1} \l{Qt Script Examples}{\bold{Qt Script}}
265 \row
266 \o \image linguist-examples.png QtLinguist
267 \o
268 Internationalization is a core feature of Qt.
269
270 \o \image qtscript-examples.png
271 \o
272 Qt is provided with a powerful embedded scripting environment through the QtScript
273 classes.
274
275 \row
276 \o{2,1} \l{WebKit Examples}{\bold WebKit}
277 \o{2,1} \l{Help System Examples}{\bold{Help System}}
278 \row
279 \o \image webkit-examples.png
280 \o
281 Qt provides an integrated Web browser component based on WebKit, the popular
282 open source browser engine.
283
284 \o \image assistant-examples.png HelpSystem
285 \o
286 Support for interactive help is provided by the Qt Assistant application.
287 Developers can take advantages of the facilities it offers to display
288 specially-prepared documentation to users of their applications.
289
290 \row
291 \o{2,1} \l{State Machine Examples}{\bold{State Machine}}
292 \o{2,1} \l{Animation Framework Examples}{\bold{Animation Framework}}
293 \row
294 \o \image statemachine-examples.png
295 \o
296 Qt provides a powerful hierarchical finite state machine through the Qt State
297 Machine classes.
298
299 \o \image animation-examples.png
300 \o
301 These examples show to to use the \l{The Animation Framework}{animation framework}
302 to build highly animated, high-performance GUIs.
303
304 \row
305 \o{2,1} \l{Multi-Touch Examples}{\bold{Multi-Touch Framework}}
306 \o{2,1} \l{Gestures Examples}{\bold{Gestures}}
307
308 \row
309 \o \image multitouch-examples.png
310 \o
311 Support for multi-touch input makes it possible for developers to create
312 extensible and intuitive user interfaces.
313
314 \o \image gestures-examples.png
315 \o
316 Applications can be written to respond to gestures as a natural input method.
317 These examples show how to enable support for standard and custom gestures in
318 applications.
319
320 \row
321 \o{2,1} \l{D-Bus Examples}{\bold{D-Bus}}
322 \o{2,1} \l{Qt for Embedded Linux Examples}{\bold{Qt for Embedded Linux}}
323
324 \row
325 \o \image qt-embedded-examples.png
326 \o
327 Systems with limited resources, specialized hardware, and small
328 screens require special attention.
329
330 \o \image dbus-examples.png D-Bus
331 \o
332 D-Bus is an inter-process communication protocol for Unix/Linux systems.
333 These examples demonstrate how to write application that communicate with
334 each other.
335
336 \row
337 \o{2,1} \l{ActiveQt Examples}{\bold ActiveQt}
338 \o{2,1} \l{Qt Quarterly}{\bold{Qt Quarterly}}
339
340 \row
341 \o \image activeqt-examples.png ActiveQt
342 \o
343 These examples demonstrate how to write ActiveX controls and control servers
344 with Qt, and how to use ActiveX controls and COM objects in a Qt application.
345
346 \o \image qq-thumbnail.png QtQuarterly
347 \o
348 One more valuable source for examples and explanations of Qt
349 features is the archive of the \l {Qt Quarterly}.
350
351 \endtable
352*/
353
354/*!
355 \page examples-widgets.html
356 \title Widgets Examples
357
358 \contentspage Qt Examples
359 \nextpage Dialog Examples
360
361 \image widget-examples.png
362
363 Qt comes with a large range of standard widgets that users of modern
364 applications have come to expect.
365
366 You can also develop your own custom widgets and controls, and use them
367 alongside standard widgets.
368
369 It is even possible to provide custom styles and themes for widgets that can
370 be used to change the appearance of standard widgets and appropriately
371 written custom widgets.
372
373 \list
374 \o \l{widgets/analogclock}{Analog Clock}\raisedaster
375 \o \l{widgets/calculator}{Calculator}\raisedaster
376 \o \l{widgets/calendarwidget}{Calendar Widget}\raisedaster
377 \o \l{widgets/charactermap}{Character Map}\raisedaster
378 \o \l{widgets/codeeditor}{Code Editor}\raisedaster
379 \o \l{widgets/digitalclock}{Digital Clock}\raisedaster
380 \o \l{widgets/groupbox}{Group Box}\raisedaster
381 \o \l{widgets/icons}{Icons}\raisedaster
382 \o \l{widgets/imageviewer}{Image Viewer}\raisedaster
383 \o \l{widgets/lineedits}{Line Edits}\raisedaster
384 \o \l{widgets/movie}{Movie}
385 \o \l{widgets/scribble}{Scribble}\raisedaster
386 \o \l{widgets/shapedclock}{Shaped Clock}\raisedaster
387 \o \l{widgets/sliders}{Sliders}\raisedaster
388 \o \l{widgets/spinboxes}{Spin Boxes}\raisedaster
389 \o \l{widgets/styles}{Styles}\raisedaster
390 \o \l{widgets/stylesheet}{Style Sheet}\raisedaster
391 \o \l{widgets/tablet}{Tablet}\raisedaster
392 \o \l{widgets/tetrix}{Tetrix}\raisedaster
393 \o \l{widgets/tooltips}{Tooltips}\raisedaster
394 \o \l{widgets/wiggly}{Wiggly}\raisedaster
395 \o \l{widgets/windowflags}{Window Flags}\raisedaster
396 \endlist
397
398 Examples marked with an asterisk (*) are fully documented.
399*/
400
401/*!
402 \page examples-dialogs.html
403 \title Dialog Examples
404
405 \previouspage Widgets Examples
406 \contentspage Qt Examples
407 \nextpage Main Window Examples
408
409 \image dialog-examples.png
410
411 Qt includes standard dialogs for many common operations, such as file
412 selection, printing, and color selection.
413
414 Custom dialogs can also be created for specialized modal or modeless
415 interactions with users.
416
417 \list
418 \o \l{dialogs/classwizard}{Class Wizard}\raisedaster
419 \o \l{dialogs/configdialog}{Config Dialog}
420 \o \l{dialogs/extension}{Extension}\raisedaster
421 \o \l{dialogs/findfiles}{Find Files}\raisedaster
422 \o \l{dialogs/licensewizard}{License Wizard}\raisedaster
423 \o \l{dialogs/standarddialogs}{Standard Dialogs}
424 \o \l{dialogs/tabdialog}{Tab Dialog}\raisedaster
425 \o \l{dialogs/trivialwizard}{Trivial Wizard}
426 \endlist
427
428 Examples marked with an asterisk (*) are fully documented.
429*/
430
431/*!
432 \page examples-mainwindow.html
433 \title Main Window Examples
434
435 \previouspage Dialog Examples
436 \contentspage Qt Examples
437 \nextpage Layout Examples
438
439 \image mainwindow-examples.png
440
441 All the standard features of application main windows are provided by Qt.
442
443 Main windows can have pull down menus, tool bars, and dock windows. These
444 separate forms of user input are unified in an integrated action system that
445 also supports keyboard shortcuts and accelerator keys in menu items.
446
447 \list
448 \o \l{mainwindows/application}{Application}\raisedaster
449 \o \l{mainwindows/dockwidgets}{Dock Widgets}\raisedaster
450 \o \l{mainwindows/mdi}{MDI}
451 \o \l{mainwindows/menus}{Menus}\raisedaster
452 \o \l{mainwindows/recentfiles}{Recent Files}
453 \o \l{mainwindows/sdi}{SDI}
454 \endlist
455
456 Examples marked with an asterisk (*) are fully documented.
457*/
458
459/*!
460 \page examples-layouts.html
461 \title Layout Examples
462
463 \previouspage Main Window Examples
464 \contentspage Qt Examples
465 \nextpage Item Views Examples
466
467 \image layout-examples.png
468
469 Qt uses a layout-based approach to widget management. Widgets are arranged in
470 the optimal positions in windows based on simple layout rules, leading to a
471 consistent look and feel.
472
473 Custom layouts can be used to provide more control over the positions and
474 sizes of child widgets.
475
476 \list
477 \o \l{layouts/basiclayouts}{Basic Layouts}\raisedaster
478 \o \l{layouts/borderlayout}{Border Layout}
479 \o \l{layouts/dynamiclayouts}{Dynamic Layouts}
480 \o \l{layouts/flowlayout}{Flow Layout}
481 \endlist
482
483 Examples marked with an asterisk (*) are fully documented.
484*/
485
486/*!
487 \page examples-itemviews.html
488 \title Item Views Examples
489
490 \previouspage Layout Examples
491 \contentspage Qt Examples
492 \nextpage Graphics View Examples
493
494 \image itemview-examples.png
495
496 Item views are widgets that typically display data sets. Qt 4's model/view
497 framework lets you handle large data sets by separating the underlying data
498 from the way it is represented to the user, and provides support for
499 customized rendering through the use of delegates.
500
501 \list
502 \o \l{itemviews/addressbook}{Address Book}\raisedaster
503 \o \l{itemviews/basicsortfiltermodel}{Basic Sort/Filter Model}
504 \o \l{itemviews/chart}{Chart}
505 \o \l{itemviews/coloreditorfactory}{Color Editor Factory}\raisedaster
506 \o \l{itemviews/combowidgetmapper}{Combo Widget Mapper}\raisedaster
507 \o \l{itemviews/customsortfiltermodel}{Custom Sort/Filter Model}\raisedaster
508 \o \l{itemviews/dirview}{Dir View}
509 \o \l{itemviews/editabletreemodel}{Editable Tree Model}\raisedaster
510 \o \l{itemviews/fetchmore}{Fetch More}\raisedaster
511 \o \l{itemviews/frozencolumn}{Frozen Column}\raisedaster
512 \o \l{itemviews/pixelator}{Pixelator}\raisedaster
513 \o \l{itemviews/puzzle}{Puzzle}
514 \o \l{itemviews/simpledommodel}{Simple DOM Model}\raisedaster
515 \o \l{itemviews/simpletreemodel}{Simple Tree Model}\raisedaster
516 \o \l{itemviews/simplewidgetmapper}{Simple Widget Mapper}\raisedaster
517 \o \l{itemviews/spinboxdelegate}{Spin Box Delegate}\raisedaster
518 \o \l{itemviews/stardelegate}{Star Delegate}\raisedaster
519 \endlist
520
521 Examples marked with an asterisk (*) are fully documented.
522*/
523
524/*!
525 \page examples-graphicsview.html
526 \title Graphics View Examples
527
528 \previouspage Item Views Examples
529 \contentspage Qt Examples
530 \nextpage Painting Examples
531
532 \image graphicsview-examples.png
533
534 Qt is provided with a comprehensive canvas through the GraphicsView
535 classes.
536
537 These examples demonstrate the fundamental aspects of canvas programming
538 with Qt.
539
540 \list
541 \o \l{graphicsview/collidingmice}{Colliding Mice}\raisedaster
542 \o \l{graphicsview/diagramscene}{Diagram Scene}\raisedaster
543 \o \l{graphicsview/dragdroprobot}{Drag and Drop Robot}
544 \o \l{graphicsview/elasticnodes}{Elastic Nodes}
545 \o \l{graphicsview/portedasteroids}{Ported Asteroids}
546 \o \l{graphicsview/portedcanvas}{Ported Canvas}
547 \endlist
548
549 Some examples demonstrate the use of graphics effects with canvas items.
550
551 \list
552 \o \l{effects/blurpicker}{Blur Picker Effect}
553 \o \l{effects/fademessage}{Fade Message Effect}
554 \o \l{effects/lighting}{Lighting Effect}
555 \endlist
556
557 Examples marked with an asterisk (*) are fully documented.
558*/
559
560/*!
561 \page examples-painting.html
562 \title Painting Examples
563
564 \previouspage Graphics View Examples
565 \contentspage Qt Examples
566 \nextpage Rich Text Examples
567
568 \image painting-examples.png
569
570 Qt's painting system is able to render vector graphics, images, and outline
571 font-based text with sub-pixel accuracy accuracy using anti-aliasing to
572 improve rendering quality.
573
574 These examples show the most common techniques that are used when painting
575 with Qt, from basic concepts such as drawing simple primitives to the use of
576 transformations.
577
578 \list
579 \o \l{painting/basicdrawing}{Basic Drawing}\raisedaster
580 \o \l{painting/concentriccircles}{Concentric Circles}\raisedaster
581 \o \l{painting/fontsampler}{Font Sampler}
582 \o \l{painting/imagecomposition}{Image Composition}\raisedaster
583 \o \l{painting/painterpaths}{Painter Paths}\raisedaster
584 \o \l{painting/svggenerator}{SVG Generator}\raisedaster
585 \o \l{painting/svgviewer}{SVG Viewer}
586 \o \l{painting/transformations}{Transformations}\raisedaster
587 \endlist
588
589 Examples marked with an asterisk (*) are fully documented.
590*/
591
592/*!
593 \page examples-richtext.html
594 \title Rich Text Examples
595
596 \previouspage Painting Examples
597 \contentspage Qt Examples
598 \nextpage Desktop Examples
599
600 \image richtext-examples.png
601
602 Qt provides powerful document-oriented rich text engine that supports Unicode
603 and right-to-left scripts. Documents can be manipulated using a cursor-based
604 API, and their contents can be imported and exported as both HTML and in a
605 custom XML format.
606
607 \list
608 \o \l{richtext/calendar}{Calendar}\raisedaster
609 \o \l{richtext/orderform}{Order Form}\raisedaster
610 \o \l{richtext/syntaxhighlighter}{Syntax Highlighter}\raisedaster
611 \o \l{richtext/textobject}{Text Object}\raisedaster
612 \endlist
613*/
614
615/*!
616 \page examples-desktop.html
617 \title Desktop Examples
618
619 \previouspage Rich Text Examples
620 \contentspage Qt Examples
621 \nextpage Drag and Drop Examples
622
623 \image desktop-examples.png
624
625 Qt provides features to enable applications to integrate with the user's
626 preferred desktop environment.
627
628 Features such as system tray icons, access to the desktop widget, and
629 support for desktop services can be used to improve the appearance of
630 applications and take advantage of underlying desktop facilities.
631
632 \list
633 \o \l{desktop/screenshot}{Screenshot}\raisedaster
634 \o \l{desktop/systray}{System Tray}\raisedaster
635 \endlist
636*/
637
638/*!
639 \page examples-draganddrop.html
640 \title Drag and Drop Examples
641
642 \previouspage Desktop Examples
643 \contentspage Qt Examples
644 \nextpage Threading and Concurrent Programming Examples
645
646 \image draganddrop-examples.png
647
648 Qt supports native drag and drop on all platforms via an extensible
649 MIME-based system that enables applications to send data to each other in the
650 most appropriate formats.
651
652 Drag and drop can also be implemented for internal use by applications.
653
654 \list
655 \o \l{draganddrop/delayedencoding}{Delayed Encoding}\raisedaster
656 \o \l{draganddrop/draggableicons}{Draggable Icons}
657 \o \l{draganddrop/draggabletext}{Draggable Text}
658 \o \l{draganddrop/dropsite}{Drop Site}
659 \o \l{draganddrop/fridgemagnets}{Fridge Magnets}\raisedaster
660 \o \l{draganddrop/puzzle}{Drag and Drop Puzzle}
661 \endlist
662
663 Examples marked with an asterisk (*) are fully documented.
664*/
665
666/*!
667 \page examples-threadandconcurrent.html
668 \title Threading and Concurrent Programming Examples
669
670 \previouspage Drag and Drop Examples
671 \contentspage Qt Examples
672 \nextpage Tools Examples
673
674 \image thread-examples.png
675
676 Qt 4 makes it easier than ever to write multithreaded applications. More
677 classes have been made usable from non-GUI threads, and the signals and slots
678 mechanism can now be used to communicate between threads.
679
680 Additionally, it is now possible to move objects between threads.
681
682 \list
683 \o \l{threads/queuedcustomtype}{Queued Custom Type}\raisedaster
684 \o \l{threads/mandelbrot}{Mandelbrot}\raisedaster
685 \o \l{threads/semaphores}{Semaphores}\raisedaster
686 \o \l{threads/waitconditions}{Wait Conditions}\raisedaster
687 \endlist
688
689 The QtConcurrent namespace includes a collection of classes and functions
690 for straightforward concurrent programming.
691
692 These examples show how to apply the basic techniques of concurrent
693 programming to simple problems.
694
695 \list
696 \o \l{qtconcurrent/imagescaling}{QtConcurrent Asynchronous Image Scaling}
697 \o \l{qtconcurrent/map}{QtConcurrent Map}
698 \o \l{qtconcurrent/progressdialog}{QtConcurrent Progress Dialog}
699 \o \l{qtconcurrent/runfunction}{QtConcurrent Run Function}
700 \o \l{qtconcurrent/wordcount}{QtConcurrent Word Count}
701 \endlist
702
703 Examples marked with an asterisk (*) are fully documented.
704*/
705
706/*!
707 \page examples.tools.html
708 \title Tools Examples
709
710 \previouspage Threading and Concurrent Programming Examples
711 \contentspage Qt Examples
712 \nextpage Network Examples
713
714 \image tool-examples.png
715
716 Qt is equipped with a range of capable tool classes, from containers and
717 iterators to classes for string handling and manipulation.
718
719 Other classes provide application infrastructure support, handling plugin
720 loading and managing configuration files.
721
722 \list
723 \o \l{tools/codecs}{Codecs}
724 \o \l{tools/completer}{Completer}\raisedaster
725 \o \l{tools/customcompleter}{Custom Completer}\raisedaster
726 \o \l{tools/customtype}{Custom Type}\raisedaster
727 \o \l{tools/customtypesending}{Custom Type Sending}\raisedaster
728 \o \l{tools/echoplugin}{Echo Plugin}\raisedaster
729 \o \l{tools/i18n}{I18N}
730 \o \l{tools/inputpanel}{Input Panel}\raisedaster
731 \o \l{tools/plugandpaint}{Plug & Paint}\raisedaster
732 \o Plug & Paint Plugins: \l{tools/plugandpaintplugins/basictools}{Basic Tools}\raisedaster
733 and \l{tools/plugandpaintplugins/extrafilters}{Extra Filters}\raisedaster
734 \o \l{tools/regexp}{RegExp}
735 \o \l{tools/settingseditor}{Settings Editor}
736 \o \l{tools/styleplugin}{Style Plugin}\raisedaster
737 \o \l{tools/treemodelcompleter}{Tree Model Completer}\raisedaster
738 \o \l{tools/undoframework}{Undo Framework}\raisedaster
739 \endlist
740
741 Examples marked with an asterisk (*) are fully documented.
742*/
743
744/*!
745 \page examples-network.html
746 \title Network Examples
747
748 \previouspage Tools Examples
749 \contentspage Qt Examples
750 \nextpage Inter-Process Communication Examples
751
752 \image network-examples.png
753
754 Qt is provided with an extensive set of network classes to support both
755 client-based and server side network programming.
756
757 These examples demonstrate the fundamental aspects of network programming
758 with Qt.
759
760 \list
761 \o \l{network/blockingfortuneclient}{Blocking Fortune Client}\raisedaster
762 \o \l{network/broadcastreceiver}{Broadcast Receiver}
763 \o \l{network/broadcastsender}{Broadcast Sender}
764 \o \l{network/network-chat}{Network Chat}
765 \o \l{network/fortuneclient}{Fortune Client}\raisedaster
766 \o \l{network/fortuneserver}{Fortune Server}\raisedaster
767 \o \l{network/qftp}{FTP}\raisedaster
768 \o \l{network/http}{HTTP}
769 \o \l{network/loopback}{Loopback}
770 \o \l{network/threadedfortuneserver}{Threaded Fortune Server}\raisedaster
771 \o \l{network/torrent}{Torrent}
772 \o \l{network/googlesuggest}{Google Suggest}
773 \endlist
774
775 Examples marked with an asterisk (*) are fully documented.
776*/
777
778/*!
779 \page examples-ipc.html
780 \title Inter-Process Communication Examples
781
782 \previouspage Network Examples
783 \contentspage Qt Examples
784 \nextpage OpenGL Examples
785
786 \image ipc-examples.png
787
788 \list
789 \o \l{ipc/localfortuneclient}{Local Fortune Client}\raisedaster
790 \o \l{ipc/localfortuneserver}{Local Fortune Server}\raisedaster
791 \o \l{ipc/sharedmemory}{Shared Memory}\raisedaster
792 \endlist
793*/
794
795/*!
796 \page examples-opengl.html
797 \title OpenGL Examples
798
799 \previouspage Inter-Process Communication Examples
800 \contentspage Qt Examples
801 \nextpage OpenVG Examples
802
803 \image opengl-examples.png
804
805 Qt provides support for integration with OpenGL implementations on all
806 platforms, giving developers the opportunity to display hardware accelerated
807 3D graphics alongside a more conventional user interface.
808
809 These examples demonstrate the basic techniques used to take advantage of
810 OpenGL in Qt applications.
811
812 \list
813 \o \l{opengl/2dpainting}{2D Painting}\raisedaster
814 \o \l{opengl/framebufferobject}{Framebuffer Object}
815 \o \l{opengl/framebufferobject2}{Framebuffer Object 2}
816 \o \l{opengl/grabber}{Grabber}
817 \o \l{opengl/hellogl}{Hello GL}\raisedaster
818 \o \l{opengl/hellogl_es}{Hello GL - ported to Windows CE}\raisedaster
819 \o \l{opengl/overpainting}{Overpainting}\raisedaster
820 \o \l{opengl/pbuffers}{Pixel Buffers}
821 \o \l{opengl/pbuffers2}{Pixel Buffers 2}
822 \o \l{opengl/samplebuffers}{Sample Buffers}
823 \o \l{opengl/textures}{Textures}
824 \endlist
825
826 Examples marked with an asterisk (*) are fully documented.
827*/
828
829/*!
830 \page examples-openvg.html
831 \title OpenVG Examples
832
833 \previouspage OpenGL Examples
834 \contentspage Qt Examples
835 \nextpage Multimedia Examples
836
837 \image openvg-examples.png
838
839 Qt provides support for integration with OpenVG implementations on
840 platforms with suitable drivers.
841
842 These examples demonstrate the basic techniques used to take advantage of
843 OpenVG in Qt applications.
844
845 \list
846 \o \l{openvg/star}{OpenVG Star}
847 \endlist
848*/
849
850/*!
851 \page examples-multimedia.html
852 \title Multimedia Examples
853
854 \previouspage OpenGL Examples
855 \contentspage Qt Examples
856 \nextpage SQL Examples
857
858 \image phonon-examples.png
859
860 \section1 Multimedia
861
862 Qt provides low-level audio support on Linux, Windows and Mac OS X by default and
863 an audio plugin API to allow developers to implement their own audio support for
864 custom devices and platforms.
865
866 \section1 Audio Handling
867
868 These examples demonstrate the basic techniques used to take advantage of the
869 Audio API in Qt applications.
870
871 \list
872 \o \l{multimedia/audiodevices}{Audio Devices}
873 \o \l{multimedia/audiooutput}{Audio Output}
874 \o \l{multimedia/audioinput}{Audio Input}
875 \endlist
876
877 \section1 Video Output
878
879 \list
880 \o \l{multimedia/videowidget}{Video Widget}\raisedaster
881 \o \l{multimedia/videographicsitem}{Video Graphics Item}
882 \endlist
883
884 \section1 Phonon
885
886 The Phonon Multimedia Framework brings multimedia support to Qt applications.
887
888 The examples and demonstrations provided show how to play music and movies
889 using the Phonon API.
890
891 \list
892 \o \l{phonon/capabilities}{Capabilities}\raisedaster
893 \o \l{phonon/qmusicplayer}{Music Player}\raisedaster
894 \endlist
895
896 Examples marked with an asterisk (*) are fully documented.
897*/
898
899/*!
900 \page examples-sql.html
901 \title SQL Examples
902
903 \previouspage Multimedia Examples
904 \contentspage Qt Examples
905 \nextpage XML Examples
906
907 \image sql-examples.png
908
909 Qt provides extensive database interoperability, with support for products
910 from both open source and proprietary vendors.
911
912 SQL support is integrated with Qt's model/view architecture, making it easier
913 to provide GUI integration for your database applications.
914
915 \list
916 \o \l{sql/cachedtable}{Cached Table}\raisedaster
917 \o \l{sql/drilldown}{Drill Down}\raisedaster
918 \o \l{sql/querymodel}{Query Model}
919 \o \l{sql/relationaltablemodel}{Relational Table Model}
920 \o \l{sql/tablemodel}{Table Model}
921 \o \l{sql/sqlwidgetmapper}{SQL Widget Mapper}\raisedaster
922 \endlist
923
924 Examples marked with an asterisk (*) are fully documented.
925*/
926
927
928/*!
929 \page examples-xml.html
930 \title XML Examples
931
932 \previouspage SQL Examples
933 \contentspage Qt Examples
934 \nextpage Qt Designer Examples
935
936 \image xml-examples.png XML
937
938 XML parsing and handling is supported through SAX and DOM compliant APIs
939 as well as streaming classes.
940
941 \list
942 \o \l{xml/dombookmarks}{DOM Bookmarks}
943 \o \l{xml/saxbookmarks}{SAX Bookmarks}
944 \o \l{xml/streambookmarks}{QXmlStream Bookmarks}\raisedaster
945 \o \l{xml/rsslisting}{RSS-Listing}
946 \o \l{xml/xmlstreamlint}{XML Stream Lint Example}\raisedaster
947 \endlist
948
949 The XQuery/XPath and XML Schema engines in the QtXmlPatterns modules
950 provide classes for querying XML files and custom data models.
951
952 \list
953 \o \l{xmlpatterns/recipes}{Recipes}
954 \o \l{xmlpatterns/filetree}{File System Example}
955 \o \l{xmlpatterns/qobjectxmlmodel}{QObject XML Model Example}
956 \o \l{xmlpatterns/xquery/globalVariables}{C++ Source Code Analyzer Example}
957 \o \l{xmlpatterns/trafficinfo}{Traffic Info}\raisedaster
958 \o \l{xmlpatterns/schema}{XML Schema Validation}\raisedaster
959 \endlist
960
961 Examples marked with an asterisk (*) are fully documented.
962*/
963
964/*!
965 \page examples-designer.html
966 \title Qt Designer Examples
967
968 \previouspage XML Examples
969 \contentspage Qt Examples
970 \nextpage UiTools Examples
971
972 \image designer-examples.png QtDesigner
973
974 Qt Designer is a capable graphical user interface designer that lets you
975 create and configure forms without writing code. GUIs created with
976 Qt Designer can be compiled into an application or created at run-time.
977
978 \list
979 \o \l{designer/calculatorbuilder}{Calculator Builder}\raisedaster
980 \o \l{designer/calculatorform}{Calculator Form}\raisedaster
981 \o \l{designer/customwidgetplugin}{Custom Widget Plugin}\raisedaster
982 \o \l{designer/taskmenuextension}{Task Menu Extension}\raisedaster
983 \o \l{designer/containerextension}{Container Extension}\raisedaster
984 \o \l{designer/worldtimeclockbuilder}{World Time Clock Builder}\raisedaster
985 \o \l{designer/worldtimeclockplugin}{World Time Clock Plugin}\raisedaster
986 \endlist
987*/
988
989/*!
990 \page examples-uitools.html
991 \title UiTools Examples
992
993 \previouspage Qt Designer Examples
994 \contentspage Qt Examples
995 \nextpage Qt Linguist Examples
996
997 \image uitools-examples.png UiTools
998
999 \list
1000 \o \l{uitools/multipleinheritance}{Multiple Inheritance}\raisedaster
1001 \o \l{uitools/textfinder}{Text Finder}\raisedaster
1002 \endlist
1003*/
1004
1005/*!
1006 \page examples-linguist.html
1007 \title Qt Linguist Examples
1008
1009 \previouspage UiTools Examples
1010 \contentspage Qt Examples
1011 \nextpage Qt Script Examples
1012
1013 \image linguist-examples.png
1014
1015 Internationalization is a core feature of Qt. These examples show how to
1016 access translation and localization facilities at run-time.
1017
1018 \list
1019 \o \l{linguist/hellotr}{Hello tr()}\raisedaster
1020 \o \l{linguist/arrowpad}{Arrow Pad}\raisedaster
1021 \o \l{linguist/trollprint}{Troll Print}\raisedaster
1022 \endlist
1023*/
1024
1025/*!
1026 \page examples-script.html
1027 \title Qt Script Examples
1028
1029 \previouspage Qt Linguist Examples
1030 \contentspage Qt Examples
1031 \nextpage WebKit Examples
1032
1033 \image qtscript-examples.png QtScript
1034
1035 Qt is provided with a powerful embedded scripting environment through the QtScript
1036 classes.
1037
1038 These examples demonstrate the fundamental aspects of scripting applications
1039 with Qt.
1040
1041 \list
1042 \o \l{script/calculator}{Calculator}\raisedaster
1043 \o \l{script/context2d}{Context2D}\raisedaster
1044 \o \l{script/defaultprototypes}{Default Prototypes}\raisedaster
1045 \o \l{script/helloscript}{Hello Script}\raisedaster
1046 \o \l{script/qstetrix}{Qt Script Tetrix}\raisedaster
1047 \o \l{script/customclass}{Custom Script Class}\raisedaster
1048 \endlist
1049*/
1050
1051/*!
1052 \page examples-webkit.html
1053 \title WebKit Examples
1054
1055 \previouspage Qt Script Examples
1056 \contentspage Qt Examples
1057 \nextpage Help System Examples
1058
1059 \image webkit-examples.png WebKit
1060
1061 Qt provides an integrated Web browser component based on WebKit, the popular
1062 open source browser engine.
1063
1064 These examples and demonstrations show a range of different uses for WebKit,
1065 from displaying Web pages within a Qt user interface to an implementation of
1066 a basic function Web browser.
1067
1068 \table
1069 \header \o Example \o Description
1070 \row \o \l{webkit/domtraversal}{DOM Traversal}\raisedaster
1071 \o Shows how to use QWebElement to inspect the document structure of a Web page.
1072 \row \o \l{webkit/fancybrowser}{Fancy Browser}
1073 \o A more advanced browser example, showing the use of jQuery to perform effects.
1074 \row \o \l{webkit/formextractor}{Form Extractor}
1075 \o How to use JavaScript and C++ together to read page content.
1076 \row \o \l{webkit/googlechat}{Google Chat}
1077 \o A real-world example that shows how an existing Web-based service can be accessed
1078 using QtWebKit.
1079 \row \o \l{webkit/previewer}{Previewer}\raisedaster
1080 \o Shows how to make a simple Web page previewer by using Qt's text input widgets
1081 together with a QWebView widget.
1082 \row \o \l{webkit/simpleselector}{Simple Selector}\raisedaster
1083 \o A basic demonstration, showing how to use QWebElement to select elements in a
1084 Web page.
1085 \endtable
1086
1087 Examples marked with an asterisk (*) are fully documented.
1088*/
1089
1090/*!
1091 \page examples-helpsystem.html
1092 \title Help System Examples
1093
1094 \previouspage WebKit Examples
1095 \contentspage Qt Examples
1096 \nextpage State Machine Examples
1097
1098 \image assistant-examples.png HelpSystem
1099
1100 Support for interactive help is provided by the Qt Assistant application.
1101 Developers can take advantages of the facilities it offers to display
1102 specially-prepared documentation to users of their applications.
1103
1104 \list
1105 \o \l{help/simpletextviewer}{Simple Text Viewer}\raisedaster
1106 \endlist
1107
1108 Examples marked with an asterisk (*) are fully documented.
1109*/
1110
1111/*!
1112 \page examples-statemachine.html
1113 \title State Machine Examples
1114
1115 \previouspage Help System Examples
1116 \contentspage Qt Examples
1117 \nextpage Animation Framework Examples
1118
1119 \image statemachine-examples.png StateMachine
1120
1121 Qt provides a powerful hierarchical finite state machine through the Qt State
1122 Machine classes.
1123
1124 These examples demonstrate the fundamental aspects of implementing
1125 Statecharts with Qt.
1126
1127 \list
1128 \o \l{statemachine/eventtransitions}{Event Transitions}\raisedaster
1129 \o \l{statemachine/factorial}{Factorial States}\raisedaster
1130 \o \l{statemachine/pingpong}{Ping Pong States}\raisedaster
1131 \o \l{statemachine/rogue}{Rogue}\raisedaster
1132 \o \l{statemachine/trafficlight}{Traffic Light}\raisedaster
1133 \o \l{statemachine/twowaybutton}{Two-way Button}\raisedaster
1134 \endlist
1135*/
1136
1137/*!
1138 \page examples-animation.html
1139 \title Animation Framework Examples
1140
1141 \previouspage State Machine Examples
1142 \contentspage Qt Examples
1143 \nextpage Multi-Touch Examples
1144
1145 \image animation-examples.png Animation
1146
1147 \list
1148 \o \l{animation/animatedtiles}{Animated Tiles}
1149 \o \l{animation/appchooser}{Application Chooser}
1150 \o \l{animation/easing}{Easing Curves}
1151 \o \l{animation/moveblocks}{Move Blocks}\raisedaster
1152 \o \l{animation/states}{States}
1153 \o \l{animation/stickman}{Stick man}\raisedaster
1154 \endlist
1155
1156 Examples marked with an asterisk (*) are fully documented.
1157*/
1158
1159/*!
1160 \page examples-multitouch.html
1161 \title Multi-Touch Examples
1162
1163 \previouspage Animation Framework Examples
1164 \contentspage Qt Examples
1165 \nextpage Gestures Examples
1166
1167 Support for multi-touch input makes it possible for developers to create
1168 extensible and intuitive user interfaces.
1169
1170 \list
1171 \o \l{multitouch/dials}{Multi-Touch Dials}
1172 \o \l{multitouch/fingerpaint}{Finger Paint}
1173 \o \l{multitouch/knobs}{Multi-Touch Knobs}
1174 \o \l{multitouch/pinchzoom}{Pinch Zoom}
1175 \endlist
1176*/
1177
1178/*!
1179 \page examples-gestures.html
1180 \title Gestures Examples
1181
1182 \previouspage Multi-Touch Examples
1183 \contentspage Qt Examples
1184 \nextpage D-Bus Examples
1185
1186 The API of the gesture framework is not yet finalized and
1187 still subject to change.
1188
1189 \list
1190 \o \l{gestures/imagegestures}{Image Gestures}
1191 \endlist
1192*/
1193
1194/*!
1195 \page examples-dbus.html
1196 \title D-Bus Examples
1197
1198 \previouspage Gestures Examples
1199 \contentspage Qt Examples
1200 \nextpage Qt for Embedded Linux Examples
1201
1202 \list
1203 \o \l{dbus/dbus-chat}{Chat}
1204 \o \l{dbus/complexpingpong}{Complex Ping Pong}
1205 \o \l{dbus/listnames}{List Names}
1206 \o \l{dbus/pingpong}{Ping Pong}
1207 \o \l{dbus/remotecontrolledcar}{Remote Controlled Car}
1208 \endlist
1209
1210 Examples marked with an asterisk (*) are fully documented.
1211*/
1212
1213/*!
1214 \page examples-embeddedlinux.html
1215 \title Qt for Embedded Linux Examples
1216
1217 \previouspage D-Bus Examples
1218 \contentspage Qt Examples
1219 \nextpage ActiveQt Examples
1220
1221 \image qt-embedded-examples.png QtEmbedded
1222
1223 These examples show how to take advantage of features specifically designed
1224 for use on systems with limited resources, specialized hardware, and small
1225 screens.
1226
1227 \list
1228 \o \l{qws/svgalib}{Accelerated Graphics Driver}\raisedaster
1229 \o \l{qws/dbscreen}{Double Buffered Graphics Driver}\raisedaster
1230 \o \l{qws/mousecalibration}{Mouse Calibration}\raisedaster
1231 \o \l{qws/simpledecoration}{Simple Decoration}\raisedaster
1232 \endlist
1233*/
1234
1235/*!
1236 \page examples-activeqt.html
1237 \title ActiveQt Examples
1238
1239 \previouspage Qt for Embedded Linux Examples
1240 \contentspage Qt Examples
1241 \nextpage Qt Quarterly
1242
1243 \image activeqt-examples.png ActiveQt
1244
1245 \list
1246 \o \l{activeqt/comapp}{COM App}\raisedaster
1247 \o \l{Dot Net Example (ActiveQt)}{Dot Net}\raisedaster
1248 \o \l{activeqt/hierarchy}{Hierarchy}\raisedaster
1249 \o \l{activeqt/menus}{Menus}\raisedaster
1250 \o \l{activeqt/multiple}{Multiple}\raisedaster
1251 \o \l{activeqt/opengl}{OpenGL}\raisedaster
1252 \o \l{activeqt/qutlook}{Qutlook}\raisedaster
1253 \o \l{activeqt/simple}{Simple}\raisedaster
1254 \o \l{activeqt/webbrowser}{Web Browser}\raisedaster
1255 \o \l{activeqt/wrapper}{Wrapper}\raisedaster
1256 \endlist
1257*/
Note: See TracBrowser for help on using the repository browser.