1 /****************************************************************************
3 ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
4 ** All rights reserved.
5 ** Contact: Nokia Corporation (qt-info@nokia.com)
7 ** This file is part of the documentation of the Qt Toolkit.
9 ** $QT_BEGIN_LICENSE:FDL$
10 ** No Commercial Usage
11 ** This file contains pre-release code and may not be distributed.
12 ** You may use this file in accordance with the terms and conditions
13 ** contained in the Technology Preview License Agreement accompanying
16 ** GNU Free Documentation License
17 ** Alternatively, this file may be used under the terms of the GNU Free
18 ** Documentation License version 1.3 as published by the Free Software
19 ** Foundation and appearing in the file included in the packaging of this
22 ** If you have questions regarding the use of this file, please contact
23 ** Nokia at qt-info@nokia.com.
26 ****************************************************************************/
32 Qt includes a set of examples that cover nearly every aspect of Qt
33 development. They aren't meant to be impressive when you run them,
34 but in each case the source code has been carefully written to
35 illustrate one or more best Qt programming practices.
37 You can run the examples from the \l{Examples and Demos Launcher}
38 application (except see \l{QML Examples and Demos} {QML Examples}
39 for special instructions for running those examples). In addition,
40 Qt Creator can directly run these examples through the Welcome Page.
42 The examples are listed below by functional area. Each example
43 listed in a particular functional area is meant to illustrate how
44 best to use Qt to do some particular task in that functional area,
45 but the examples will often use features from other functional
46 areas as well for completeness.
48 If you are new to Qt, you should probably start by going through
49 the \l{Tutorials}, and then begin with the
50 \l{mainwindows/application} {Application} example.
52 In addition to these examples and the \l{Tutorials}{tutorials}, Qt
53 includes a \l{Qt Demonstrations}{selection of demos} that
54 deliberately show off Qt's features. You might want to look at
57 These examples are provided under the terms of the
58 \l{New and Modified BSD Licenses}{Modified BSD License}.
60 \section1 Qt Quick Example Code
61 The \l{QML Examples and Demos} site has a dedicated page for QML examples.
63 \section1 Qt Mobility Example Code
64 The \l{external: Qt Mobility Examples}{Qt Mobility Examples} page lists
65 examples that show how the Qt Mobility APIs might be used.
67 \section1 Qt Examples by Module or Technology
69 \generatelist{related}
73 \page examples-widgets.html
74 \title Widget Examples
76 \brief Lots of examples of how to use different kinds of widgets.
78 \image widget-examples.png
80 Qt comes with a large range of standard widgets that users of modern
81 applications have come to expect.
83 You can also develop your own custom widgets and controls, and use them
84 alongside standard widgets.
86 It is even possible to provide custom styles and themes for widgets that can
87 be used to change the appearance of standard widgets and appropriately
88 written custom widgets.
91 \o \l{widgets/analogclock}{Analog Clock}\raisedaster
92 \o \l{widgets/calculator}{Calculator}\raisedaster
93 \o \l{widgets/calendarwidget}{Calendar Widget}\raisedaster
94 \o \l{widgets/charactermap}{Character Map}\raisedaster
95 \o \l{widgets/codeeditor}{Code Editor}\raisedaster
96 \o \l{widgets/digitalclock}{Digital Clock}\raisedaster
97 \o \l{widgets/groupbox}{Group Box}\raisedaster
98 \o \l{widgets/icons}{Icons}\raisedaster
99 \o \l{widgets/imageviewer}{Image Viewer}\raisedaster
100 \o \l{widgets/lineedits}{Line Edits}\raisedaster
101 \o \l{widgets/movie}{Movie}
102 \o \l{widgets/scribble}{Scribble}\raisedaster
103 \o \l{widgets/shapedclock}{Shaped Clock}\raisedaster
104 \o \l{widgets/sliders}{Sliders}\raisedaster
105 \o \l{widgets/softkeys}{Soft Keys}
106 \o \l{widgets/spinboxes}{Spin Boxes}\raisedaster
107 \o \l{widgets/styles}{Styles}\raisedaster
108 \o \l{widgets/stylesheet}{Style Sheet}\raisedaster
109 \o \l{widgets/tablet}{Tablet}\raisedaster
110 \o \l{widgets/tetrix}{Tetrix}\raisedaster
111 \o \l{widgets/tooltips}{Tooltips}\raisedaster
112 \o \l{widgets/validators}{Validators}
113 \o \l{widgets/wiggly}{Wiggly}\raisedaster
114 \o \l{widgets/windowflags}{Window Flags}\raisedaster
117 Examples marked with an asterisk (*) are fully documented.
121 \page examples-dialogs.html
122 \ingroup all-examples
123 \title Dialog Examples
124 \brief Using Qt's standard dialogs and building and using custom dialogs.
126 \image dialog-examples.png
128 Qt includes standard dialogs for many common operations, such as file
129 selection, printing, and color selection.
131 Custom dialogs can also be created for specialized modal or modeless
132 interactions with users.
135 \o \l{dialogs/classwizard}{Class Wizard}\raisedaster
136 \o \l{dialogs/configdialog}{Config Dialog}
137 \o \l{dialogs/extension}{Extension}\raisedaster
138 \o \l{dialogs/findfiles}{Find Files}\raisedaster
139 \o \l{dialogs/licensewizard}{License Wizard}\raisedaster
140 \o \l{dialogs/standarddialogs}{Standard Dialogs}
141 \o \l{dialogs/tabdialog}{Tab Dialog}\raisedaster
142 \o \l{dialogs/trivialwizard}{Trivial Wizard}
145 Examples marked with an asterisk (*) are fully documented.
149 \page examples-mainwindow.html
150 \ingroup all-examples
151 \title Main Window Examples
152 \brief Building applications around a main window.
154 \image mainwindow-examples.png
156 All the standard features of application main windows are provided by Qt.
158 Main windows can have pull down menus, tool bars, and dock windows. These
159 separate forms of user input are unified in an integrated action system that
160 also supports keyboard shortcuts and accelerator keys in menu items.
163 \o \l{mainwindows/application}{Application}\raisedaster
164 \o \l{mainwindows/dockwidgets}{Dock Widgets}\raisedaster
165 \o \l{mainwindows/mdi}{MDI}
166 \o \l{mainwindows/menus}{Menus}\raisedaster
167 \o \l{mainwindows/recentfiles}{Recent Files}
168 \o \l{mainwindows/sdi}{SDI}
171 Examples marked with an asterisk (*) are fully documented.
175 \page examples-layouts.html
176 \ingroup all-examples
177 \title Layout Examples
178 \brief Using Qt's layout-based approach to widget management.
180 \image layout-examples.png
182 Qt uses a layout-based approach to widget management. Widgets are arranged in
183 the optimal positions in windows based on simple layout rules, leading to a
184 consistent look and feel.
186 Custom layouts can be used to provide more control over the positions and
187 sizes of child widgets.
190 \o \l{layouts/basiclayouts}{Basic Layouts}\raisedaster
191 \o \l{layouts/borderlayout}{Border Layout}
192 \o \l{layouts/dynamiclayouts}{Dynamic Layouts}
193 \o \l{layouts/flowlayout}{Flow Layout}
196 Examples marked with an asterisk (*) are fully documented.
200 \page examples-itemviews.html
201 \ingroup all-examples
202 \title Item Views Examples
203 \brief Using the model/view design pattern to separate presentation from data.
205 \image itemview-examples.png
207 Item views are widgets that typically display data sets. Qt 4's model/view
208 framework lets you handle large data sets by separating the underlying data
209 from the way it is represented to the user, and provides support for
210 customized rendering through the use of delegates.
213 \o \l{itemviews/addressbook}{Address Book}\raisedaster
214 \o \l{itemviews/basicsortfiltermodel}{Basic Sort/Filter Model}
215 \o \l{itemviews/chart}{Chart}
216 \o \l{itemviews/coloreditorfactory}{Color Editor Factory}\raisedaster
217 \o \l{itemviews/combowidgetmapper}{Combo Widget Mapper}\raisedaster
218 \o \l{itemviews/customsortfiltermodel}{Custom Sort/Filter Model}\raisedaster
219 \o \l{itemviews/dirview}{Dir View}
220 \o \l{itemviews/editabletreemodel}{Editable Tree Model}\raisedaster
221 \o \l{itemviews/fetchmore}{Fetch More}\raisedaster
222 \o \l{itemviews/frozencolumn}{Frozen Column}\raisedaster
223 \o \l{itemviews/pixelator}{Pixelator}\raisedaster
224 \o \l{itemviews/puzzle}{Puzzle}
225 \o \l{itemviews/simpledommodel}{Simple DOM Model}\raisedaster
226 \o \l{itemviews/simpletreemodel}{Simple Tree Model}\raisedaster
227 \o \l{itemviews/simplewidgetmapper}{Simple Widget Mapper}\raisedaster
228 \o \l{itemviews/spinboxdelegate}{Spin Box Delegate}\raisedaster
229 \o \l{itemviews/stardelegate}{Star Delegate}\raisedaster
232 Examples marked with an asterisk (*) are fully documented.
236 \page examples-graphicsview.html
237 \ingroup all-examples
238 \title Graphics View Examples
239 \brief Using Qt to manage and interact with a large (potentially) number of graphics items.
241 \image graphicsview-examples.png
243 Qt is provided with a comprehensive canvas through the GraphicsView
246 These examples demonstrate the fundamental aspects of canvas programming
250 \o \l{graphicsview/collidingmice}{Colliding Mice}\raisedaster
251 \o \l{graphicsview/diagramscene}{Diagram Scene}\raisedaster
252 \o \l{graphicsview/dragdroprobot}{Drag and Drop Robot}\raisedaster
253 \o \l{graphicsview/elasticnodes}{Elastic Nodes}\raisedaster
254 \o \l{graphicsview/padnavigator}{Pad Navigator}\raisedaster
255 \o \l{graphicsview/portedasteroids}{Ported Asteroids}
256 \o \l{graphicsview/portedcanvas}{Ported Canvas}
259 These examples show the use of graphics widgets and layouts.
262 \o \l{graphicsview/anchorlayout}{Anchor Layout}
263 \o \l{graphicsview/flowlayout}{Flow Layout}
264 \o \l{graphicsview/simpleanchorlayout}{Simple Anchor Layout}
265 \o \l{graphicsview/weatheranchorlayout}{Weather Anchor Layout}
266 \o \l{graphicsview/basicgraphicslayouts}{Basic Graphics Layouts}
269 Some examples demonstrate the use of graphics effects with canvas items.
272 \o \l{effects/blurpicker}{Blur Picker Effect}
273 \o \l{effects/fademessage}{Fade Message Effect}
274 \o \l{effects/lighting}{Lighting Effect}
277 Examples marked with an asterisk (*) are fully documented.
281 \page examples-painting.html
282 \ingroup all-examples
283 \title Painting Examples
284 \brief How to use the Qt painting system.
286 \image painting-examples.png
288 Qt's painting system is able to render vector graphics, images, and outline
289 font-based text with sub-pixel accuracy accuracy using anti-aliasing to
290 improve rendering quality.
292 These examples show the most common techniques that are used when painting
293 with Qt, from basic concepts such as drawing simple primitives to the use of
297 \o \l{painting/basicdrawing}{Basic Drawing}\raisedaster
298 \o \l{painting/concentriccircles}{Concentric Circles}\raisedaster
299 \o \l{painting/fontsampler}{Font Sampler}
300 \o \l{painting/imagecomposition}{Image Composition}\raisedaster
301 \o \l{painting/painterpaths}{Painter Paths}\raisedaster
302 \o \l{painting/svggenerator}{SVG Generator}\raisedaster
303 \o \l{painting/svgviewer}{SVG Viewer}
304 \o \l{painting/transformations}{Transformations}\raisedaster
307 Examples marked with an asterisk (*) are fully documented.
311 \page examples-richtext.html
312 \ingroup all-examples
313 \title Rich Text Examples
314 \brief Using the document-oriented rich text engine.
316 \image richtext-examples.png
318 Qt provides powerful document-oriented rich text engine that supports Unicode
319 and right-to-left scripts. Documents can be manipulated using a cursor-based
320 API, and their contents can be imported and exported as both HTML and in a
324 \o \l{richtext/calendar}{Calendar}\raisedaster
325 \o \l{richtext/orderform}{Order Form}\raisedaster
326 \o \l{richtext/syntaxhighlighter}{Syntax Highlighter}\raisedaster
327 \o \l{richtext/textobject}{Text Object}\raisedaster
332 \page examples-desktop.html
333 \ingroup all-examples
334 \title Desktop Examples
335 \brief Integrating your Qt application with your favorite desktop.
337 \image desktop-examples.png
339 Qt provides features to enable applications to integrate with the user's
340 preferred desktop environment.
342 Features such as system tray icons, access to the desktop widget, and
343 support for desktop services can be used to improve the appearance of
344 applications and take advantage of underlying desktop facilities.
347 \o \l{desktop/screenshot}{Screenshot}\raisedaster
348 \o \l{desktop/systray}{System Tray}\raisedaster
353 \page examples-draganddrop.html
354 \ingroup all-examples
355 \title Drag and Drop Examples
356 \brief How to access your platform's native drag and drop functionality.
358 \image draganddrop-examples.png
360 Qt supports native drag and drop on all platforms via an extensible
361 MIME-based system that enables applications to send data to each other in the
362 most appropriate formats.
364 Drag and drop can also be implemented for internal use by applications.
367 \o \l{draganddrop/delayedencoding}{Delayed Encoding}\raisedaster
368 \o \l{draganddrop/draggableicons}{Draggable Icons}
369 \o \l{draganddrop/draggabletext}{Draggable Text}
370 \o \l{draganddrop/dropsite}{Drop Site}
371 \o \l{draganddrop/fridgemagnets}{Fridge Magnets}\raisedaster
372 \o \l{draganddrop/puzzle}{Drag and Drop Puzzle}
375 Examples marked with an asterisk (*) are fully documented.
379 \page examples-threadandconcurrent.html
380 \ingroup all-examples
381 \title Threading and Concurrent Programming Examples
382 \brief Threading and concurrent programming in Qt.
384 \image thread-examples.png
386 Qt 4 makes it easier than ever to write multithreaded applications. More
387 classes have been made usable from non-GUI threads, and the signals and slots
388 mechanism can now be used to communicate between threads.
390 Additionally, it is now possible to move objects between threads.
393 \o \l{threads/queuedcustomtype}{Queued Custom Type}\raisedaster
394 \o \l{threads/mandelbrot}{Mandelbrot}\raisedaster
395 \o \l{threads/semaphores}{Semaphores}\raisedaster
396 \o \l{threads/waitconditions}{Wait Conditions}\raisedaster
399 The QtConcurrent namespace includes a collection of classes and functions
400 for straightforward concurrent programming.
402 These examples show how to apply the basic techniques of concurrent
403 programming to simple problems.
406 \o \l{qtconcurrent/imagescaling}{QtConcurrent Asynchronous Image Scaling}
407 \o \l{qtconcurrent/map}{QtConcurrent Map}
408 \o \l{qtconcurrent/progressdialog}{QtConcurrent Progress Dialog}
409 \o \l{qtconcurrent/runfunction}{QtConcurrent Run Function}
410 \o \l{qtconcurrent/wordcount}{QtConcurrent Word Count}
413 Examples marked with an asterisk (*) are fully documented.
417 \page examples.tools.html
418 \ingroup all-examples
419 \title Tools Examples
420 \brief Using Qt's containers, iterators, and other tool classes.
422 \image tool-examples.png
424 Qt is equipped with a range of capable tool classes, from containers and
425 iterators to classes for string handling and manipulation.
427 Other classes provide application infrastructure support, handling plugin
428 loading and managing configuration files.
431 \o \l{tools/codecs}{Codecs}
432 \o \l{tools/completer}{Completer}\raisedaster
433 \o \l{tools/customcompleter}{Custom Completer}\raisedaster
434 \o \l{tools/customtype}{Custom Type}\raisedaster
435 \o \l{tools/customtypesending}{Custom Type Sending}\raisedaster
436 \o \l{tools/echoplugin}{Echo Plugin}\raisedaster
437 \o \l{tools/i18n}{I18N}
438 \o \l{tools/inputpanel}{Input Panel}\raisedaster
439 \o \l{tools/plugandpaint}{Plug & Paint}\raisedaster
440 \o Plug & Paint Plugins: \l{tools/plugandpaintplugins/basictools}{Basic Tools}\raisedaster
441 and \l{tools/plugandpaintplugins/extrafilters}{Extra Filters}\raisedaster
442 \o \l{tools/regexp}{RegExp}
443 \o \l{tools/settingseditor}{Settings Editor}
444 \o \l{tools/styleplugin}{Style Plugin}\raisedaster
445 \o \l{tools/treemodelcompleter}{Tree Model Completer}\raisedaster
446 \o \l{tools/undoframework}{Undo Framework}\raisedaster
449 Examples marked with an asterisk (*) are fully documented.
453 \page examples-network.html
454 \ingroup all-examples
455 \title Network Examples
456 \brief How to do network programming in Qt.
458 \image network-examples.png
460 Qt is provided with an extensive set of network classes to support both
461 client-based and server side network programming.
463 These examples demonstrate the fundamental aspects of network programming
467 \o \l{network/blockingfortuneclient}{Blocking Fortune Client}\raisedaster
468 \o \l{network/broadcastreceiver}{Broadcast Receiver}
469 \o \l{network/broadcastsender}{Broadcast Sender}
470 \o \l{network/download}{Download}
471 \o \l{network/downloadmanager}{Download Manager}
472 \o \l{network/network-chat}{Network Chat}
473 \o \l{network/fortuneclient}{Fortune Client}\raisedaster
474 \o \l{network/fortuneserver}{Fortune Server}\raisedaster
475 \o \l{network/qftp}{FTP}\raisedaster
476 \o \l{network/http}{HTTP}
477 \o \l{network/loopback}{Loopback}
478 \o \l{network/threadedfortuneserver}{Threaded Fortune Server}\raisedaster
479 \o \l{network/torrent}{Torrent}
480 \o \l{network/googlesuggest}{Google Suggest}
481 \o \l{network/bearercloud}{Bearer Cloud}\raisedaster
482 \o \l{network/bearermonitor}{Bearer Monitor}
483 \o \l{network/securesocketclient}{Secure Socket Client}
484 \o \l{network/multicastreceiver}{Multicast Receiver}
485 \o \l{network/multicastsender}{Multicast Sender}
488 Examples marked with an asterisk (*) are fully documented.
492 \page examples-ipc.html
493 \ingroup all-examples
495 \brief Inter-Process Communication with Qt.
497 \image ipc-examples.png
500 \o \l{ipc/localfortuneclient}{Local Fortune Client}
501 \o \l{ipc/localfortuneserver}{Local Fortune Server}
502 \o \l{ipc/sharedmemory}{Shared Memory}\raisedaster
505 Examples marked with an asterisk (*) are fully documented.
509 \page examples-opengl.html
510 \ingroup all-examples
511 \title OpenGL Examples
512 \brief Accessing OpenGL from Qt.
514 \image opengl-examples.png
516 Qt provides support for integration with OpenGL implementations on all
517 platforms, giving developers the opportunity to display hardware accelerated
518 3D graphics alongside a more conventional user interface.
520 These examples demonstrate the basic techniques used to take advantage of
521 OpenGL in Qt applications.
524 \o \l{opengl/2dpainting}{2D Painting}\raisedaster
525 \o \l{opengl/framebufferobject}{Framebuffer Object}
526 \o \l{opengl/framebufferobject2}{Framebuffer Object 2}
527 \o \l{opengl/grabber}{Grabber}
528 \o \l{opengl/hellogl}{Hello GL}\raisedaster
529 \o \l{opengl/hellogl_es}{Hello GL - ported to Windows CE}\raisedaster
530 \o \l{opengl/overpainting}{Overpainting}\raisedaster
531 \o \l{opengl/pbuffers}{Pixel Buffers}
532 \o \l{opengl/pbuffers2}{Pixel Buffers 2}
533 \o \l{opengl/samplebuffers}{Sample Buffers}
534 \o \l{opengl/textures}{Textures}
537 Examples marked with an asterisk (*) are fully documented.
541 \page examples-openvg.html
542 \ingroup all-examples
543 \title OpenVG Examples
544 \brief Accessing OpenVG from Qt.
546 \image opengl-examples.png
548 Qt provides support for integration with OpenVG implementations on
549 platforms with suitable drivers.
551 These examples demonstrate the basic techniques used to take advantage of
552 OpenVG in Qt applications.
555 \o \l{openvg/star}{OpenVG Star}
560 \page examples-multimedia.html
561 \ingroup all-examples
562 \title Multimedia Examples
563 \brief Audio, video, and Phonon with Qt.
565 \image phonon-examples.png
569 Qt provides low-level audio support on Linux, Windows and Mac OS X by default and
570 an audio plugin API to allow developers to implement their own audio support for
571 custom devices and platforms.
573 \section1 Audio Handling
575 These examples demonstrate the basic techniques used to take advantage of the
576 Audio API in Qt applications.
579 \o \l{multimedia/audiodevices}{Audio Devices}
580 \o \l{multimedia/audiooutput}{Audio Output}
581 \o \l{multimedia/audioinput}{Audio Input}
584 \section1 Video Output
587 \o \l{multimedia/videowidget}{Video Widget}\raisedaster
588 \o \l{multimedia/videographicsitem}{Video Graphics Item}
593 The Phonon Multimedia Framework brings multimedia support to Qt applications.
595 The examples and demonstrations provided show how to play music and movies
596 using the Phonon API.
599 \o \l{phonon/capabilities}{Capabilities}\raisedaster
600 \o \l{phonon/qmusicplayer}{Music Player}\raisedaster
603 Examples marked with an asterisk (*) are fully documented.
607 \page examples-sql.html
608 \ingroup all-examples
610 \brief Accessing your SQL database from Qt.
612 \image sql-examples.png
614 Qt provides extensive database interoperability, with support for products
615 from both open source and proprietary vendors.
617 SQL support is integrated with Qt's model/view architecture, making it easier
618 to provide GUI integration for your database applications.
621 \o \l{sql/cachedtable}{Cached Table}\raisedaster
622 \o \l{sql/drilldown}{Drill Down}\raisedaster
623 \o \l{sql/querymodel}{Query Model}
624 \o \l{sql/relationaltablemodel}{Relational Table Model}
625 \o \l{sql/tablemodel}{Table Model}
626 \o \l{sql/masterdetail}{Master Detail}
627 \o \l{sql/sqlwidgetmapper}{SQL Widget Mapper}\raisedaster
630 Examples marked with an asterisk (*) are fully documented.
635 \page examples-xml.html
636 \ingroup all-examples
638 \brief Using XML with Qt.
640 \image xml-examples.png XML
642 XML parsing and handling is supported through SAX and DOM compliant APIs
643 as well as streaming classes.
646 \o \l{xml/dombookmarks}{DOM Bookmarks}
647 \o \l{xml/saxbookmarks}{SAX Bookmarks}
648 \o \l{xml/streambookmarks}{QXmlStream Bookmarks}\raisedaster
649 \o \l{xml/rsslisting}{RSS-Listing}
650 \o \l{xml/xmlstreamlint}{XML Stream Lint Example}\raisedaster
651 \o \l{xml/htmlinfo}{XML HTML Info}
654 The XQuery/XPath and XML Schema engines in the QtXmlPatterns modules
655 provide classes for querying XML files and custom data models.
658 \o \l{xmlpatterns/recipes}{Recipes}
659 \o \l{xmlpatterns/filetree}{File System Example}
660 \o \l{xmlpatterns/qobjectxmlmodel}{QObject XML Model Example}
661 \o \l{xmlpatterns/xquery/globalVariables}{C++ Source Code Analyzer Example}
662 \o \l{xmlpatterns/trafficinfo}{Traffic Info}\raisedaster
663 \o \l{xmlpatterns/schema}{XML Schema Validation}\raisedaster
666 Examples marked with an asterisk (*) are fully documented.
670 \page examples-designer.html
671 \ingroup all-examples
672 \title Qt Designer Examples
673 \brief Using Qt Designer to build your UI.
675 \image designer-examples.png QtDesigner
677 Qt Designer is a capable graphical user interface designer that lets you
678 create and configure forms without writing code. GUIs created with
679 Qt Designer can be compiled into an application or created at run-time.
682 \o \l{designer/calculatorbuilder}{Calculator Builder}\raisedaster
683 \o \l{designer/calculatorform}{Calculator Form}\raisedaster
684 \o \l{designer/customwidgetplugin}{Custom Widget Plugin}\raisedaster
685 \o \l{designer/taskmenuextension}{Task Menu Extension}\raisedaster
686 \o \l{designer/containerextension}{Container Extension}\raisedaster
687 \o \l{designer/worldtimeclockbuilder}{World Time Clock Builder}\raisedaster
688 \o \l{designer/worldtimeclockplugin}{World Time Clock Plugin}\raisedaster
693 \page examples-uitools.html
694 \ingroup all-examples
695 \title UiTools Examples
696 \brief Using the QtUiTools module.
698 \image uitools-examples.png UiTools
701 \o \l{uitools/multipleinheritance}{Multiple Inheritance}\raisedaster
702 \o \l{uitools/textfinder}{Text Finder}\raisedaster
707 \page examples-linguist.html
708 \ingroup all-examples
709 \ingroup internationalization
710 \title Qt Linguist Examples
711 \brief Using Qt Linguist to internationalize your Qt application.
713 \image linguist-examples.png
715 Internationalization is a core feature of Qt. These examples show how to
716 access translation and localization facilities at run-time.
719 \o \l{linguist/hellotr}{Hello tr()}\raisedaster
720 \o \l{linguist/arrowpad}{Arrow Pad}\raisedaster
721 \o \l{linguist/trollprint}{Troll Print}\raisedaster
726 \page examples-script.html
727 \ingroup all-examples
728 \title Qt Script Examples
729 \brief Using the Qt scripting environment.
731 \image qtscript-examples.png QtScript
733 Qt is provided with a powerful embedded scripting environment through the QtScript
736 These examples demonstrate the fundamental aspects of scripting applications
740 \o \l{script/calculator}{Calculator}\raisedaster
741 \o \l{script/context2d}{Context2D}\raisedaster
742 \o \l{script/defaultprototypes}{Default Prototypes}\raisedaster
743 \o \l{script/helloscript}{Hello Script}\raisedaster
744 \o \l{script/marshal}{Qt Script Marshalling}
745 \o \l{script/qscript}{Qt Script Interpreter}
746 \o \l{script/qsdbg}{Qt Script Debugging}
747 \o \l{script/qstetrix}{Qt Script Tetrix}\raisedaster
748 \o \l{script/customclass}{Custom Script Class}\raisedaster
753 \page examples-webkit.html
754 \ingroup all-examples
755 \title WebKit Examples
756 \brief Using WebKit in your Qt application.
758 \image webkit-examples.png WebKit
760 Qt provides an integrated Web browser component based on WebKit, the popular
761 open source browser engine.
763 These examples and demonstrations show a range of different uses for WebKit,
764 from displaying Web pages within a Qt user interface to an implementation of
765 a basic function Web browser.
768 \header \o Example \o Description
769 \row \o \l{webkit/domtraversal}{DOM Traversal}\raisedaster
770 \o Shows how to use QWebElement to inspect the document structure of a Web page.
771 \row \o \l{webkit/fancybrowser}{Fancy Browser}
772 \o A more advanced browser example, showing the use of jQuery to perform effects.
773 \row \o \l{webkit/formextractor}{Form Extractor}
774 \o How to use JavaScript and C++ together to read page content.
775 \row \o \l{webkit/framecapture}{Frame Capture}
776 \o How to use the WebKit browser engine to obtain images of Web pages.
777 \row \o \l{webkit/googlechat}{Google Chat}
778 \o A real-world example that shows how an existing Web-based service can be accessed
780 \row \o \l{webkit/imageanalyzer}{Image Analyzer}\raisedaster
781 \o A \l{The QtWebKit Bridge}{QtWebKit bridge} application which contains a
782 web interface and client-side processing.
783 \row \o \l{webkit/previewer}{Previewer}\raisedaster
784 \o Shows how to make a simple Web page previewer by using Qt's text input widgets
785 together with a QWebView widget.
786 \row \o \l{webkit/simpleselector}{Simple Selector}\raisedaster
787 \o A basic demonstration, showing how to use QWebElement to select elements in a
789 \row \o \l{webkit/simplewebplugin}{Simple Web Plugin}\raisedaster
790 \o Shows how to embed a widget into a Web page displayed using a QWebView
792 \row \o \l{webkit/webftpclient}{Web FTP Client}\raisedaster
793 \o Shows how to add support for a new protocol to QtWebKit-based applications.
794 \row \o \l{webkit/webplugin}{Web Plugin}\raisedaster
795 \o Shows how to communicate with a widget embedded into a Web page.
798 Examples marked with an asterisk (*) are fully documented.
802 \page examples-helpsystem.html
803 \ingroup all-examples
804 \title Help System Examples
805 \brief Adding interactive help to your Qt application.
807 \image assistant-examples.png HelpSystem
809 Support for interactive help is provided by the Qt Assistant application.
810 Developers can take advantages of the facilities it offers to display
811 specially-prepared documentation to users of their applications.
814 \o \l{help/simpletextviewer}{Simple Text Viewer}\raisedaster
815 \o \l{help/remotecontrol}{Remote Control}
816 \o \l{help/contextsensitivehelp}{Context-Sensitive Help}
819 Examples marked with an asterisk (*) are fully documented.
823 \page examples-statemachine.html
824 \ingroup all-examples
825 \title State Machine Examples
826 \brief Using Qt's finite state machine classes.
828 \image statemachine-examples.png StateMachine
830 Qt provides a powerful hierarchical finite state machine through the Qt State
833 These examples demonstrate the fundamental aspects of implementing
837 \o \l{statemachine/eventtransitions}{Event Transitions}\raisedaster
838 \o \l{statemachine/factorial}{Factorial States}\raisedaster
839 \o \l{statemachine/pingpong}{Ping Pong States}\raisedaster
840 \o \l{statemachine/rogue}{Rogue}\raisedaster
841 \o \l{statemachine/trafficlight}{Traffic Light}\raisedaster
842 \o \l{statemachine/twowaybutton}{Two-way Button}\raisedaster
847 \page examples-animation.html
848 \ingroup all-examples
849 \title Animation Framework Examples
850 \brief Doing animations with Qt.
852 \image animation-examples.png Animation
855 \o \l{animation/animatedtiles}{Animated Tiles}
856 \o \l{animation/appchooser}{Application Chooser}
857 \o \l{animation/easing}{Easing Curves}
858 \o \l{animation/moveblocks}{Move Blocks}\raisedaster
859 \o \l{animation/states}{States}
860 \o \l{animation/stickman}{Stick man}\raisedaster
863 Examples marked with an asterisk (*) are fully documented.
867 \page examples-touch.html
868 \ingroup all-examples
869 \title Touch Input Examples
870 \brief Using Qt's touch input capability.
872 Support for touch input makes it possible for developers to create
873 extensible and intuitive user interfaces.
876 \o \l{touch/dials}{Touch Dials}
877 \o \l{touch/fingerpaint}{Finger Paint}
878 \o \l{touch/knobs}{Touch Knobs}
879 \o \l{touch/pinchzoom}{Pinch Zoom}
884 \page examples-gestures.html
885 \ingroup all-examples
886 \title Gestures Examples
887 \brief Gesture programming examples.
889 The API of the gesture framework is not yet finalized and
890 still subject to change.
893 \o \l{gestures/imagegestures}{Image Gestures}
898 \page examples-dbus.html
899 \ingroup all-examples
900 \title D-Bus Examples
901 \brief Using D-Bus from Qt applications.
904 \o \l{dbus/dbus-chat}{Chat}
905 \o \l{dbus/complexpingpong}{Complex Ping Pong}
906 \o \l{dbus/listnames}{List Names}
907 \o \l{dbus/pingpong}{Ping Pong}
908 \o \l{dbus/remotecontrolledcar}{Remote Controlled Car}
911 Examples marked with an asterisk (*) are fully documented.
915 \page examples-embeddedlinux.html
916 \ingroup all-examples
917 \title Qt for Embedded Linux Examples
918 \brief Using Qt in Embedded Linux.
920 \image qt-embedded-examples.png QtEmbedded
922 These examples show how to take advantage of features specifically designed
923 for use on systems with limited resources, specialized hardware, and small
927 \o \l{qws/svgalib}{Accelerated Graphics Driver}\raisedaster
928 \o \l{qws/dbscreen}{Double Buffered Graphics Driver}\raisedaster
929 \o \l{qws/mousecalibration}{Mouse Calibration}\raisedaster
930 \o \l{qws/simpledecoration}{Simple Decoration}\raisedaster
935 \page examples-activeqt.html
936 \ingroup all-examples
937 \title ActiveQt Examples
938 \brief Using ActiveX from Qt applications.
940 \image activeqt-examples.png ActiveQt
943 \o \l{activeqt/comapp}{COM App}\raisedaster
944 \o \l{Dot Net Example (ActiveQt)}{Dot Net}\raisedaster
945 \o \l{activeqt/hierarchy}{Hierarchy}\raisedaster
946 \o \l{activeqt/menus}{Menus}\raisedaster
947 \o \l{activeqt/multiple}{Multiple}\raisedaster
948 \o \l{activeqt/opengl}{OpenGL}\raisedaster
949 \o \l{activeqt/qutlook}{Qutlook}\raisedaster
950 \o \l{activeqt/simple}{Simple}\raisedaster
951 \o \l{activeqt/webbrowser}{Web Browser}\raisedaster
952 \o \l{activeqt/wrapper}{Wrapper}\raisedaster