diff -r dee5afe5301f -r 3f74d0d4af4c doc/src/getting-started/examples.qdoc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/src/getting-started/examples.qdoc Thu Apr 08 14:19:33 2010 +0300 @@ -0,0 +1,1372 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** 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 + \raw HTML + + \endraw + Click this \l{Qt Examples}{link} if you don't get redirected. +*/ + +/*! + \page examples.html + \title Qt Examples + \brief The example programs provided with Qt. + + \previouspage Tutorials + \contentspage How to Learn Qt + \nextpage Qt Demonstrations + + Qt is supplied with a variety of examples that cover almost every aspect + of development. They are not all designed to be impressive when you run + them, but their source code is carefully written to show good Qt + programming practices. You can launch any of these programs from the + \l{Examples and Demos Launcher} application. + + These examples are ordered by functional area, but many examples often + use features from many parts of Qt to highlight one area in particular. + If you are new to Qt, you should probably start by going through the + \l{Tutorials} before you have a look at the + \l{mainwindows/application}{Application} example. + + In addition to the examples and the tutorial, Qt includes a + \l{Qt Demonstrations}{selection of demos} that deliberately show off + Qt's features. You might want to look at these as well. + + \section1 \l{Widgets Examples}{Widgets} + \beginfloatleft + \l{Widgets Examples}{\inlineimage widget-examples.png + } + + \endfloat + 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. + + \clearfloat + \section1 \l{Dialog Examples}{Dialogs} + \beginfloatleft + \l{Dialog Examples}{\inlineimage dialog-examples.png + } + + \endfloat + 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. + + \clearfloat + \section1 \l{Main Window Examples}{Main Windows} + \beginfloatleft + \l{Main Window Examples}{\inlineimage mainwindow-examples.png + } + + \endfloat + 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. + + \clearfloat + \section1 \l{Layout Examples}{Layouts} + \beginfloatleft + \l{Layout Examples}{\inlineimage layout-examples.png + } + + \endfloat + 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. + + \clearfloat + \section1 \l{Item Views Examples}{Item Views} + \beginfloatleft + \l{Item Views Examples}{\inlineimage itemview-examples.png + } + + \endfloat + 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. + + \clearfloat + \section1 \l{Graphics View Examples}{Graphics View} + \beginfloatleft + \l{Graphics View Examples}{\inlineimage graphicsview-examples.png + } + + \endfloat + Qt is provided with a comprehensive canvas through the GraphicsView + classes. + + \clearfloat + \section1 \l{Painting Examples}{Painting} + \beginfloatleft + \l{Painting Examples}{\inlineimage painting-examples.png + } + + \endfloat + 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. + + \clearfloat + \section1 \l{Rich Text Examples}{Rich Text} + \beginfloatleft + \l{Rich Text Examples}{\inlineimage richtext-examples.png + } + + \endfloat + 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. + + \clearfloat + \section1 \l{Desktop Examples}{Desktop} + \beginfloatleft + \l{Desktop Examples}{\inlineimage desktop-examples.png + } + + \endfloat + 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. + + \clearfloat + \section1 \l{Drag and Drop Examples}{Drag and Drop} + \beginfloatleft + \l{Drag and Drop Examples}{\inlineimage draganddrop-examples.png + } + + \endfloat + 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. + + \clearfloat + \section1 \l{Threading and Concurrent Programming Examples}{Threading and Concurrent Programming} + \beginfloatleft + \l{Threading and Concurrent Programming Examples}{\inlineimage thread-examples.png + } + + \endfloat + 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. + + The QtConcurrent namespace includes a collection of classes and functions + for straightforward concurrent programming. + + \clearfloat + \section1 \l{Tools Examples}{Tools} + \beginfloatleft + \l{Tools Examples}{\inlineimage tool-examples.png + } + + \endfloat + 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. + + \clearfloat + \section1 \l{Network Examples}{Network} + \beginfloatleft + \l{Network Examples}{\inlineimage network-examples.png + } + + \endfloat + Qt is provided with an extensive set of network classes to support both + client-based and server side network programming. + + \clearfloat + \section1 \l{Inter-Process Communication Examples}{Inter-Process Communication} + \beginfloatleft + \l{Inter-Process Communication Examples}{\inlineimage ipc-examples.png + } + + \endfloat + Simple, lightweight inter-process communication can be performed using shared + memory and local sockets. + + \clearfloat + \section1 \l{OpenGL Examples}{OpenGL} and \l{OpenVG Examples}{OpenVG} Examples + \beginfloatleft + \l{OpenGL Examples}{\inlineimage opengl-examples.png + } + + \endfloat + 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. + + Qt provides support for integration with OpenVG implementations on + platforms with suitable drivers. + + \clearfloat + \section1 \l{Multimedia Examples}{Multimedia Framework} + \beginfloatleft + \l{Multimedia Examples}{\inlineimage phonon-examples.png + } + + \endfloat + Qt provides low-level audio support on linux,windows and mac platforms by default and + an audio plugin API to allow developers to implement there own audio support for + custom devices and platforms. + + The Phonon Multimedia Framework brings multimedia support to Qt applications. + + \clearfloat + \section1 \l{SQL Examples}{SQL} + \beginfloatleft + \l{SQL Examples}{\inlineimage sql-examples.png + } + + \endfloat + 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. + + \clearfloat + \section1 \l{XML Examples}{XML} + \beginfloatleft + \l{XML Examples}{\inlineimage xml-examples.png + } + + \endfloat + XML parsing and handling is supported through SAX and DOM compliant APIs + as well as streaming classes. + + The XQuery/XPath and XML Schema engines in the QtXmlPatterns modules + provide classes for querying XML files and custom data models. + + \clearfloat + \section1 \l{Qt Designer Examples}{Qt Designer} + \beginfloatleft + \l{Qt Designer Examples}{\inlineimage designer-examples.png + } + + \endfloat + 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. + + \clearfloat + \section1 \l{UiTools Examples}{UiTools} + \beginfloatleft + \l{UiTools Examples}{\inlineimage uitools-examples.png + } + + \endfloat + User interfaces created with Qt Designer can be loaded and displayed at + run-time using the facilities of the QtUiTools module without the need + to generate code in advance. + + \clearfloat + \section1 \l{Qt Linguist Examples}{Qt Linguist} + \beginfloatleft + \l{Qt Linguist Examples}{\inlineimage linguist-examples.png + } + + \endfloat + Internationalization is a core feature of Qt. + + \clearfloat + \section1 \l{Qt Script Examples}{Qt Script} + \beginfloatleft + \l{Qt Script Examples}{\inlineimage qtscript-examples.png + } + + \endfloat + Qt is provided with a powerful embedded scripting environment through the QtScript + classes. + + \clearfloat + \section1 \l{WebKit Examples}{WebKit} + \beginfloatleft + \l{WebKit Examples}{\inlineimage webkit-examples.png + } + + \endfloat + Qt provides an integrated Web browser component based on WebKit, the popular + open source browser engine. + + \clearfloat + \section1 \l{Help System Examples}{Help System} + \beginfloatleft + \l{Help System Examples}{\inlineimage assistant-examples.png + } + + \endfloat + 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. + + \clearfloat + \section1 \l{State Machine Examples}{State Machine} + \beginfloatleft + \l{State Machine Examples}{\inlineimage statemachine-examples.png + } + + \endfloat + Qt provides a powerful hierarchical finite state machine through the Qt State + Machine classes. + + \clearfloat + \section1 \l{Animation Framework Examples}{Animation Framework} + \beginfloatleft + \l{Animation Framework Examples}{\inlineimage animation-examples.png + } + + \endfloat + These examples show to to use the \l{The Animation Framework}{animation framework} + to build highly animated, high-performance GUIs. + + \clearfloat + \section1 \l{Multi-Touch Examples}{Multi-Touch Framework} + \beginfloatleft + \l{Multi-Touch Examples}{\inlineimage multitouch-examples.png + } + + \endfloat + Support for multi-touch input makes it possible for developers to create + extensible and intuitive user interfaces. + + \clearfloat + \section1 \l{Gestures Examples}{Gestures} + \beginfloatleft + \l{Gestures Examples}{\inlineimage gestures-examples.png + } + + \endfloat + Applications can be written to respond to gestures as a natural input method. + These examples show how to enable support for standard and custom gestures in + applications. + + \clearfloat + \section1 \l{D-Bus Examples}{D-Bus} + \beginfloatleft + \l{D-Bus Examples}{\inlineimage dbus-examples.png + } + + \endfloat + Systems with limited resources, specialized hardware, and small + screens require special attention. + + \clearfloat + \section1 \l{Qt for Embedded Linux Examples}{Qt for Embedded Linux} + \beginfloatleft + \l{Qt for Embedded Linux Examples}{\inlineimage qt-embedded-examples.png + } + + \endfloat + D-Bus is an inter-process communication protocol for Unix/Linux systems. + These examples demonstrate how to write application that communicate with + each other. + + \clearfloat + \section1 \l{ActiveQt Examples}{ActiveQt} + \beginfloatleft + \l{ActiveQt Examples}{\inlineimage activeqt-examples.png + } + + \endfloat + These examples demonstrate how to write ActiveX controls and control servers + with Qt, and how to use ActiveX controls and COM objects in a Qt application. + + \clearfloat + \section1 \l{Qt Quarterly}{Qt Quarterly} + \beginfloatleft + \l{Qt Quarterly}{\inlineimage qq-thumbnail.png + } + + \endfloat + One more valuable source for examples and explanations of Qt + features is the archive of \l{Qt Quarterly}, a newsletter for + Qt developers. + + \clearfloat +*/ + +/*! + \page examples-widgets.html + \title Widgets Examples + + \contentspage Qt Examples + \nextpage Dialog Examples + + \image 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. + + \list + \o \l{widgets/analogclock}{Analog Clock}\raisedaster + \o \l{widgets/calculator}{Calculator}\raisedaster + \o \l{widgets/calendarwidget}{Calendar Widget}\raisedaster + \o \l{widgets/charactermap}{Character Map}\raisedaster + \o \l{widgets/codeeditor}{Code Editor}\raisedaster + \o \l{widgets/digitalclock}{Digital Clock}\raisedaster + \o \l{widgets/groupbox}{Group Box}\raisedaster + \o \l{widgets/icons}{Icons}\raisedaster + \o \l{widgets/imageviewer}{Image Viewer}\raisedaster + \o \l{widgets/lineedits}{Line Edits}\raisedaster + \o \l{widgets/movie}{Movie} + \o \l{widgets/scribble}{Scribble}\raisedaster + \o \l{widgets/shapedclock}{Shaped Clock}\raisedaster + \o \l{widgets/sliders}{Sliders}\raisedaster + \o \l{widgets/softkeys}{Soft Keys} + \o \l{widgets/spinboxes}{Spin Boxes}\raisedaster + \o \l{widgets/styles}{Styles}\raisedaster + \o \l{widgets/stylesheet}{Style Sheet}\raisedaster + \o \l{widgets/tablet}{Tablet}\raisedaster + \o \l{widgets/tetrix}{Tetrix}\raisedaster + \o \l{widgets/tooltips}{Tooltips}\raisedaster + \o \l{widgets/validators}{Validators} + \o \l{widgets/wiggly}{Wiggly}\raisedaster + \o \l{widgets/windowflags}{Window Flags}\raisedaster + \endlist + + Examples marked with an asterisk (*) are fully documented. +*/ + +/*! + \page examples-dialogs.html + \title Dialog Examples + + \previouspage Widgets Examples + \contentspage Qt Examples + \nextpage Main Window Examples + + \image 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. + + \list + \o \l{dialogs/classwizard}{Class Wizard}\raisedaster + \o \l{dialogs/configdialog}{Config Dialog} + \o \l{dialogs/extension}{Extension}\raisedaster + \o \l{dialogs/findfiles}{Find Files}\raisedaster + \o \l{dialogs/licensewizard}{License Wizard}\raisedaster + \o \l{dialogs/standarddialogs}{Standard Dialogs} + \o \l{dialogs/tabdialog}{Tab Dialog}\raisedaster + \o \l{dialogs/trivialwizard}{Trivial Wizard} + \endlist + + Examples marked with an asterisk (*) are fully documented. +*/ + +/*! + \page examples-mainwindow.html + \title Main Window Examples + + \previouspage Dialog Examples + \contentspage Qt Examples + \nextpage Layout Examples + + \image 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. + + \list + \o \l{mainwindows/application}{Application}\raisedaster + \o \l{mainwindows/dockwidgets}{Dock Widgets}\raisedaster + \o \l{mainwindows/mdi}{MDI} + \o \l{mainwindows/menus}{Menus}\raisedaster + \o \l{mainwindows/recentfiles}{Recent Files} + \o \l{mainwindows/sdi}{SDI} + \endlist + + Examples marked with an asterisk (*) are fully documented. +*/ + +/*! + \page examples-layouts.html + \title Layout Examples + + \previouspage Main Window Examples + \contentspage Qt Examples + \nextpage Item Views Examples + + \image 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. + + \list + \o \l{layouts/basiclayouts}{Basic Layouts}\raisedaster + \o \l{layouts/borderlayout}{Border Layout} + \o \l{layouts/dynamiclayouts}{Dynamic Layouts} + \o \l{layouts/flowlayout}{Flow Layout} + \endlist + + Examples marked with an asterisk (*) are fully documented. +*/ + +/*! + \page examples-itemviews.html + \title Item Views Examples + + \previouspage Layout Examples + \contentspage Qt Examples + \nextpage Graphics View Examples + + \image 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. + + \list + \o \l{itemviews/addressbook}{Address Book}\raisedaster + \o \l{itemviews/basicsortfiltermodel}{Basic Sort/Filter Model} + \o \l{itemviews/chart}{Chart} + \o \l{itemviews/coloreditorfactory}{Color Editor Factory}\raisedaster + \o \l{itemviews/combowidgetmapper}{Combo Widget Mapper}\raisedaster + \o \l{itemviews/customsortfiltermodel}{Custom Sort/Filter Model}\raisedaster + \o \l{itemviews/dirview}{Dir View} + \o \l{itemviews/editabletreemodel}{Editable Tree Model}\raisedaster + \o \l{itemviews/fetchmore}{Fetch More}\raisedaster + \o \l{itemviews/frozencolumn}{Frozen Column}\raisedaster + \o \l{itemviews/pixelator}{Pixelator}\raisedaster + \o \l{itemviews/puzzle}{Puzzle} + \o \l{itemviews/simpledommodel}{Simple DOM Model}\raisedaster + \o \l{itemviews/simpletreemodel}{Simple Tree Model}\raisedaster + \o \l{itemviews/simplewidgetmapper}{Simple Widget Mapper}\raisedaster + \o \l{itemviews/spinboxdelegate}{Spin Box Delegate}\raisedaster + \o \l{itemviews/stardelegate}{Star Delegate}\raisedaster + \endlist + + Examples marked with an asterisk (*) are fully documented. +*/ + +/*! + \page examples-graphicsview.html + \title Graphics View Examples + + \previouspage Item Views Examples + \contentspage Qt Examples + \nextpage Painting Examples + + \image 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. + + \list + \o \l{graphicsview/collidingmice}{Colliding Mice}\raisedaster + \o \l{graphicsview/diagramscene}{Diagram Scene}\raisedaster + \o \l{graphicsview/dragdroprobot}{Drag and Drop Robot} + \o \l{graphicsview/elasticnodes}{Elastic Nodes} + \o \l{graphicsview/portedasteroids}{Ported Asteroids} + \o \l{graphicsview/portedcanvas}{Ported Canvas} + \endlist + + These examples show the use of graphics widgets and layouts. + + \list + \o \l{graphicsview/anchorlayout}{Anchor Layout} + \o \l{graphicsview/flowlayout}{Flow Layout} + \o \l{graphicsview/simpleanchorlayout}{Simple Anchor Layout} + \o \l{graphicsview/weatheranchorlayout}{Weather Anchor Layout} + \endlist + + Some examples demonstrate the use of graphics effects with canvas items. + + \list + \o \l{effects/blurpicker}{Blur Picker Effect} + \o \l{effects/fademessage}{Fade Message Effect} + \o \l{effects/lighting}{Lighting Effect} + \endlist + + Examples marked with an asterisk (*) are fully documented. +*/ + +/*! + \page examples-painting.html + \title Painting Examples + + \previouspage Graphics View Examples + \contentspage Qt Examples + \nextpage Rich Text Examples + + \image 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. + + \list + \o \l{painting/basicdrawing}{Basic Drawing}\raisedaster + \o \l{painting/concentriccircles}{Concentric Circles}\raisedaster + \o \l{painting/fontsampler}{Font Sampler} + \o \l{painting/imagecomposition}{Image Composition}\raisedaster + \o \l{painting/painterpaths}{Painter Paths}\raisedaster + \o \l{painting/svggenerator}{SVG Generator}\raisedaster + \o \l{painting/svgviewer}{SVG Viewer} + \o \l{painting/transformations}{Transformations}\raisedaster + \endlist + + Examples marked with an asterisk (*) are fully documented. +*/ + +/*! + \page examples-richtext.html + \title Rich Text Examples + + \previouspage Painting Examples + \contentspage Qt Examples + \nextpage Desktop Examples + + \image 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. + + \list + \o \l{richtext/calendar}{Calendar}\raisedaster + \o \l{richtext/orderform}{Order Form}\raisedaster + \o \l{richtext/syntaxhighlighter}{Syntax Highlighter}\raisedaster + \o \l{richtext/textobject}{Text Object}\raisedaster + \endlist +*/ + +/*! + \page examples-desktop.html + \title Desktop Examples + + \previouspage Rich Text Examples + \contentspage Qt Examples + \nextpage Drag and Drop Examples + + \image 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. + + \list + \o \l{desktop/screenshot}{Screenshot}\raisedaster + \o \l{desktop/systray}{System Tray}\raisedaster + \endlist +*/ + +/*! + \page examples-draganddrop.html + \title Drag and Drop Examples + + \previouspage Desktop Examples + \contentspage Qt Examples + \nextpage Threading and Concurrent Programming Examples + + \image 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. + + \list + \o \l{draganddrop/delayedencoding}{Delayed Encoding}\raisedaster + \o \l{draganddrop/draggableicons}{Draggable Icons} + \o \l{draganddrop/draggabletext}{Draggable Text} + \o \l{draganddrop/dropsite}{Drop Site} + \o \l{draganddrop/fridgemagnets}{Fridge Magnets}\raisedaster + \o \l{draganddrop/puzzle}{Drag and Drop Puzzle} + \endlist + + Examples marked with an asterisk (*) are fully documented. +*/ + +/*! + \page examples-threadandconcurrent.html + \title Threading and Concurrent Programming Examples + + \previouspage Drag and Drop Examples + \contentspage Qt Examples + \nextpage Tools Examples + + \image 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. + + \list + \o \l{threads/queuedcustomtype}{Queued Custom Type}\raisedaster + \o \l{threads/mandelbrot}{Mandelbrot}\raisedaster + \o \l{threads/semaphores}{Semaphores}\raisedaster + \o \l{threads/waitconditions}{Wait Conditions}\raisedaster + \endlist + + 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. + + \list + \o \l{qtconcurrent/imagescaling}{QtConcurrent Asynchronous Image Scaling} + \o \l{qtconcurrent/map}{QtConcurrent Map} + \o \l{qtconcurrent/progressdialog}{QtConcurrent Progress Dialog} + \o \l{qtconcurrent/runfunction}{QtConcurrent Run Function} + \o \l{qtconcurrent/wordcount}{QtConcurrent Word Count} + \endlist + + Examples marked with an asterisk (*) are fully documented. +*/ + +/*! + \page examples.tools.html + \title Tools Examples + + \previouspage Threading and Concurrent Programming Examples + \contentspage Qt Examples + \nextpage Network Examples + + \image 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. + + \list + \o \l{tools/codecs}{Codecs} + \o \l{tools/completer}{Completer}\raisedaster + \o \l{tools/customcompleter}{Custom Completer}\raisedaster + \o \l{tools/customtype}{Custom Type}\raisedaster + \o \l{tools/customtypesending}{Custom Type Sending}\raisedaster + \o \l{tools/echoplugin}{Echo Plugin}\raisedaster + \o \l{tools/i18n}{I18N} + \o \l{tools/inputpanel}{Input Panel}\raisedaster + \o \l{tools/plugandpaint}{Plug & Paint}\raisedaster + \o Plug & Paint Plugins: \l{tools/plugandpaintplugins/basictools}{Basic Tools}\raisedaster + and \l{tools/plugandpaintplugins/extrafilters}{Extra Filters}\raisedaster + \o \l{tools/regexp}{RegExp} + \o \l{tools/settingseditor}{Settings Editor} + \o \l{tools/styleplugin}{Style Plugin}\raisedaster + \o \l{tools/treemodelcompleter}{Tree Model Completer}\raisedaster + \o \l{tools/undoframework}{Undo Framework}\raisedaster + \endlist + + Examples marked with an asterisk (*) are fully documented. +*/ + +/*! + \page examples-network.html + \title Network Examples + + \previouspage Tools Examples + \contentspage Qt Examples + \nextpage Inter-Process Communication Examples + + \image 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. + + \list + \o \l{network/blockingfortuneclient}{Blocking Fortune Client}\raisedaster + \o \l{network/broadcastreceiver}{Broadcast Receiver} + \o \l{network/broadcastsender}{Broadcast Sender} + \o \l{network/download}{Download} + \o \l{network/downloadmanager}{Download Manager} + \o \l{network/network-chat}{Network Chat} + \o \l{network/fortuneclient}{Fortune Client}\raisedaster + \o \l{network/fortuneserver}{Fortune Server}\raisedaster + \o \l{network/qftp}{FTP}\raisedaster + \o \l{network/http}{HTTP} + \o \l{network/loopback}{Loopback} + \o \l{network/threadedfortuneserver}{Threaded Fortune Server}\raisedaster + \o \l{network/torrent}{Torrent} + \o \l{network/googlesuggest}{Google Suggest} + \endlist + + Examples marked with an asterisk (*) are fully documented. +*/ + +/*! + \page examples-ipc.html + \title Inter-Process Communication Examples + + \previouspage Network Examples + \contentspage Qt Examples + \nextpage OpenGL Examples + + \image ipc-examples.png + + \list + \o \l{ipc/localfortuneclient}{Local Fortune Client}\raisedaster + \o \l{ipc/localfortuneserver}{Local Fortune Server}\raisedaster + \o \l{ipc/sharedmemory}{Shared Memory}\raisedaster + \endlist +*/ + +/*! + \page examples-opengl.html + \title OpenGL Examples + + \previouspage Inter-Process Communication Examples + \contentspage Qt Examples + \nextpage OpenVG Examples + + \image 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. + + \list + \o \l{opengl/2dpainting}{2D Painting}\raisedaster + \o \l{opengl/framebufferobject}{Framebuffer Object} + \o \l{opengl/framebufferobject2}{Framebuffer Object 2} + \o \l{opengl/grabber}{Grabber} + \o \l{opengl/hellogl}{Hello GL}\raisedaster + \o \l{opengl/hellogl_es}{Hello GL - ported to Windows CE}\raisedaster + \o \l{opengl/overpainting}{Overpainting}\raisedaster + \o \l{opengl/pbuffers}{Pixel Buffers} + \o \l{opengl/pbuffers2}{Pixel Buffers 2} + \o \l{opengl/samplebuffers}{Sample Buffers} + \o \l{opengl/textures}{Textures} + \endlist + + Examples marked with an asterisk (*) are fully documented. +*/ + +/*! + \page examples-openvg.html + \title OpenVG Examples + + \previouspage OpenGL Examples + \contentspage Qt Examples + \nextpage Multimedia Examples + + \image openvg-examples.png + + Qt provides support for integration with OpenVG implementations on + platforms with suitable drivers. + + These examples demonstrate the basic techniques used to take advantage of + OpenVG in Qt applications. + + \list + \o \l{openvg/star}{OpenVG Star} + \endlist +*/ + +/*! + \page examples-multimedia.html + \title Multimedia Examples + + \previouspage OpenGL Examples + \contentspage Qt Examples + \nextpage SQL Examples + + \image phonon-examples.png + + \section1 Multimedia + + Qt provides low-level audio support on Linux, Windows and Mac OS X by default and + an audio plugin API to allow developers to implement their own audio support for + custom devices and platforms. + + \section1 Audio Handling + + These examples demonstrate the basic techniques used to take advantage of the + Audio API in Qt applications. + + \list + \o \l{multimedia/audiodevices}{Audio Devices} + \o \l{multimedia/audiooutput}{Audio Output} + \o \l{multimedia/audioinput}{Audio Input} + \endlist + + \section1 Video Output + + \list + \o \l{multimedia/videowidget}{Video Widget}\raisedaster + \o \l{multimedia/videographicsitem}{Video Graphics Item} + \endlist + + \section1 Phonon + + 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. + + \list + \o \l{phonon/capabilities}{Capabilities}\raisedaster + \o \l{phonon/qmusicplayer}{Music Player}\raisedaster + \endlist + + Examples marked with an asterisk (*) are fully documented. +*/ + +/*! + \page examples-sql.html + \title SQL Examples + + \previouspage Multimedia Examples + \contentspage Qt Examples + \nextpage XML Examples + + \image 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. + + \list + \o \l{sql/cachedtable}{Cached Table}\raisedaster + \o \l{sql/drilldown}{Drill Down}\raisedaster + \o \l{sql/querymodel}{Query Model} + \o \l{sql/relationaltablemodel}{Relational Table Model} + \o \l{sql/tablemodel}{Table Model} + \o \l{sql/sqlwidgetmapper}{SQL Widget Mapper}\raisedaster + \endlist + + Examples marked with an asterisk (*) are fully documented. +*/ + + +/*! + \page examples-xml.html + \title XML Examples + + \previouspage SQL Examples + \contentspage Qt Examples + \nextpage Qt Designer Examples + + \image xml-examples.png XML + + XML parsing and handling is supported through SAX and DOM compliant APIs + as well as streaming classes. + + \list + \o \l{xml/dombookmarks}{DOM Bookmarks} + \o \l{xml/saxbookmarks}{SAX Bookmarks} + \o \l{xml/streambookmarks}{QXmlStream Bookmarks}\raisedaster + \o \l{xml/rsslisting}{RSS-Listing} + \o \l{xml/xmlstreamlint}{XML Stream Lint Example}\raisedaster + \endlist + + The XQuery/XPath and XML Schema engines in the QtXmlPatterns modules + provide classes for querying XML files and custom data models. + + \list + \o \l{xmlpatterns/recipes}{Recipes} + \o \l{xmlpatterns/filetree}{File System Example} + \o \l{xmlpatterns/qobjectxmlmodel}{QObject XML Model Example} + \o \l{xmlpatterns/xquery/globalVariables}{C++ Source Code Analyzer Example} + \o \l{xmlpatterns/trafficinfo}{Traffic Info}\raisedaster + \o \l{xmlpatterns/schema}{XML Schema Validation}\raisedaster + \endlist + + Examples marked with an asterisk (*) are fully documented. +*/ + +/*! + \page examples-designer.html + \title Qt Designer Examples + + \previouspage XML Examples + \contentspage Qt Examples + \nextpage UiTools Examples + + \image designer-examples.png QtDesigner + + 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. + + \list + \o \l{designer/calculatorbuilder}{Calculator Builder}\raisedaster + \o \l{designer/calculatorform}{Calculator Form}\raisedaster + \o \l{designer/customwidgetplugin}{Custom Widget Plugin}\raisedaster + \o \l{designer/taskmenuextension}{Task Menu Extension}\raisedaster + \o \l{designer/containerextension}{Container Extension}\raisedaster + \o \l{designer/worldtimeclockbuilder}{World Time Clock Builder}\raisedaster + \o \l{designer/worldtimeclockplugin}{World Time Clock Plugin}\raisedaster + \endlist +*/ + +/*! + \page examples-uitools.html + \title UiTools Examples + + \previouspage Qt Designer Examples + \contentspage Qt Examples + \nextpage Qt Linguist Examples + + \image uitools-examples.png UiTools + + \list + \o \l{uitools/multipleinheritance}{Multiple Inheritance}\raisedaster + \o \l{uitools/textfinder}{Text Finder}\raisedaster + \endlist +*/ + +/*! + \page examples-linguist.html + \title Qt Linguist Examples + + \previouspage UiTools Examples + \contentspage Qt Examples + \nextpage Qt Script Examples + + \image linguist-examples.png + + Internationalization is a core feature of Qt. These examples show how to + access translation and localization facilities at run-time. + + \list + \o \l{linguist/hellotr}{Hello tr()}\raisedaster + \o \l{linguist/arrowpad}{Arrow Pad}\raisedaster + \o \l{linguist/trollprint}{Troll Print}\raisedaster + \endlist +*/ + +/*! + \page examples-script.html + \title Qt Script Examples + + \previouspage Qt Linguist Examples + \contentspage Qt Examples + \nextpage WebKit Examples + + \image qtscript-examples.png QtScript + + Qt is provided with a powerful embedded scripting environment through the QtScript + classes. + + These examples demonstrate the fundamental aspects of scripting applications + with Qt. + + \list + \o \l{script/calculator}{Calculator}\raisedaster + \o \l{script/context2d}{Context2D}\raisedaster + \o \l{script/defaultprototypes}{Default Prototypes}\raisedaster + \o \l{script/helloscript}{Hello Script}\raisedaster + \o \l{script/marshal}{Qt Script Marshalling} + \o \l{script/qscript}{Qt Script Interpreter} + \o \l{script/qsdbg}{Qt Script Debugging} + \o \l{script/qstetrix}{Qt Script Tetrix}\raisedaster + \o \l{script/customclass}{Custom Script Class}\raisedaster + \endlist +*/ + +/*! + \page examples-webkit.html + \title WebKit Examples + + \previouspage Qt Script Examples + \contentspage Qt Examples + \nextpage Help System Examples + + \image webkit-examples.png WebKit + + 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. + + \table + \header \o Example \o Description + \row \o \l{webkit/domtraversal}{DOM Traversal}\raisedaster + \o Shows how to use QWebElement to inspect the document structure of a Web page. + \row \o \l{webkit/fancybrowser}{Fancy Browser} + \o A more advanced browser example, showing the use of jQuery to perform effects. + \row \o \l{webkit/formextractor}{Form Extractor} + \o How to use JavaScript and C++ together to read page content. + \row \o \l{webkit/framecapture}{Frame Capture} + \o How to use the WebKit browser engine to obtain images of Web pages. + \row \o \l{webkit/googlechat}{Google Chat} + \o A real-world example that shows how an existing Web-based service can be accessed + using QtWebKit. + \row \o \l{webkit/previewer}{Previewer}\raisedaster + \o Shows how to make a simple Web page previewer by using Qt's text input widgets + together with a QWebView widget. + \row \o \l{webkit/simpleselector}{Simple Selector}\raisedaster + \o A basic demonstration, showing how to use QWebElement to select elements in a + Web page. + \endtable + + Examples marked with an asterisk (*) are fully documented. +*/ + +/*! + \page examples-helpsystem.html + \title Help System Examples + + \previouspage WebKit Examples + \contentspage Qt Examples + \nextpage State Machine Examples + + \image assistant-examples.png HelpSystem + + 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. + + \list + \o \l{help/simpletextviewer}{Simple Text Viewer}\raisedaster + \endlist + + Examples marked with an asterisk (*) are fully documented. +*/ + +/*! + \page examples-statemachine.html + \title State Machine Examples + + \previouspage Help System Examples + \contentspage Qt Examples + \nextpage Animation Framework Examples + + \image statemachine-examples.png StateMachine + + Qt provides a powerful hierarchical finite state machine through the Qt State + Machine classes. + + These examples demonstrate the fundamental aspects of implementing + Statecharts with Qt. + + \list + \o \l{statemachine/eventtransitions}{Event Transitions}\raisedaster + \o \l{statemachine/factorial}{Factorial States}\raisedaster + \o \l{statemachine/pingpong}{Ping Pong States}\raisedaster + \o \l{statemachine/rogue}{Rogue}\raisedaster + \o \l{statemachine/trafficlight}{Traffic Light}\raisedaster + \o \l{statemachine/twowaybutton}{Two-way Button}\raisedaster + \endlist +*/ + +/*! + \page examples-animation.html + \title Animation Framework Examples + + \previouspage State Machine Examples + \contentspage Qt Examples + \nextpage Multi-Touch Examples + + \image animation-examples.png Animation + + \list + \o \l{animation/animatedtiles}{Animated Tiles} + \o \l{animation/appchooser}{Application Chooser} + \o \l{animation/easing}{Easing Curves} + \o \l{animation/moveblocks}{Move Blocks}\raisedaster + \o \l{animation/states}{States} + \o \l{animation/stickman}{Stick man}\raisedaster + \endlist + + Examples marked with an asterisk (*) are fully documented. +*/ + +/*! + \page examples-multitouch.html + \title Multi-Touch Examples + + \previouspage Animation Framework Examples + \contentspage Qt Examples + \nextpage Gestures Examples + + Support for multi-touch input makes it possible for developers to create + extensible and intuitive user interfaces. + + \list + \o \l{multitouch/dials}{Multi-Touch Dials} + \o \l{multitouch/fingerpaint}{Finger Paint} + \o \l{multitouch/knobs}{Multi-Touch Knobs} + \o \l{multitouch/pinchzoom}{Pinch Zoom} + \endlist +*/ + +/*! + \page examples-gestures.html + \title Gestures Examples + + \previouspage Multi-Touch Examples + \contentspage Qt Examples + \nextpage D-Bus Examples + + The API of the gesture framework is not yet finalized and + still subject to change. + + \list + \o \l{gestures/imagegestures}{Image Gestures} + \endlist +*/ + +/*! + \page examples-dbus.html + \title D-Bus Examples + + \previouspage Gestures Examples + \contentspage Qt Examples + \nextpage Qt for Embedded Linux Examples + + \list + \o \l{dbus/dbus-chat}{Chat} + \o \l{dbus/complexpingpong}{Complex Ping Pong} + \o \l{dbus/listnames}{List Names} + \o \l{dbus/pingpong}{Ping Pong} + \o \l{dbus/remotecontrolledcar}{Remote Controlled Car} + \endlist + + Examples marked with an asterisk (*) are fully documented. +*/ + +/*! + \page examples-embeddedlinux.html + \title Qt for Embedded Linux Examples + + \previouspage D-Bus Examples + \contentspage Qt Examples + \nextpage ActiveQt Examples + + \image qt-embedded-examples.png QtEmbedded + + These examples show how to take advantage of features specifically designed + for use on systems with limited resources, specialized hardware, and small + screens. + + \list + \o \l{qws/svgalib}{Accelerated Graphics Driver}\raisedaster + \o \l{qws/dbscreen}{Double Buffered Graphics Driver}\raisedaster + \o \l{qws/mousecalibration}{Mouse Calibration}\raisedaster + \o \l{qws/simpledecoration}{Simple Decoration}\raisedaster + \endlist +*/ + +/*! + \page examples-activeqt.html + \title ActiveQt Examples + + \previouspage Qt for Embedded Linux Examples + \contentspage Qt Examples + \nextpage Qt Quarterly + + \image activeqt-examples.png ActiveQt + + \list + \o \l{activeqt/comapp}{COM App}\raisedaster + \o \l{Dot Net Example (ActiveQt)}{Dot Net}\raisedaster + \o \l{activeqt/hierarchy}{Hierarchy}\raisedaster + \o \l{activeqt/menus}{Menus}\raisedaster + \o \l{activeqt/multiple}{Multiple}\raisedaster + \o \l{activeqt/opengl}{OpenGL}\raisedaster + \o \l{activeqt/qutlook}{Qutlook}\raisedaster + \o \l{activeqt/simple}{Simple}\raisedaster + \o \l{activeqt/webbrowser}{Web Browser}\raisedaster + \o \l{activeqt/wrapper}{Wrapper}\raisedaster + \endlist +*/