summaryrefslogtreecommitdiffstats
path: root/doc/src/getting-started
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/getting-started')
-rw-r--r--doc/src/getting-started/demos.qdoc166
-rw-r--r--doc/src/getting-started/examples.qdoc1108
-rw-r--r--doc/src/getting-started/how-to-learn-qt.qdoc118
-rw-r--r--doc/src/getting-started/installation.qdoc806
-rw-r--r--doc/src/getting-started/known-issues.qdoc143
-rw-r--r--doc/src/getting-started/tutorials.qdoc103
6 files changed, 2444 insertions, 0 deletions
diff --git a/doc/src/getting-started/demos.qdoc b/doc/src/getting-started/demos.qdoc
new file mode 100644
index 0000000..1eac06f
--- /dev/null
+++ b/doc/src/getting-started/demos.qdoc
@@ -0,0 +1,166 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** 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.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page demos.html
+ \title Qt Demonstrations
+ \brief Information about the demonstration programs provided with Qt.
+
+ \previouspage Qt Examples
+ \contentspage How to Learn Qt
+ \nextpage What's New in Qt 4.5
+
+ This is the list of demonstrations in Qt's \c demos directory.
+ These are larger and more complicated programs than the
+ \l{Qt Examples} and are used to highlight certain features of
+ Qt.
+
+ \table 50%
+ \header
+ \o {2,1} Getting an Overview
+ \row
+ \o \inlineimage qtdemo-small.png
+ \o
+ If you run the \l{Examples and Demos Launcher}, you'll see many of Qt's
+ widgets in action.
+
+ The \l{Qt Widget Gallery} also provides overviews of selected Qt
+ widgets in each of the styles used on various supported platforms.
+ \endtable
+
+ If you are new to Qt, and want to start developing applications,
+ you should probably start by going through the \l{Tutorials}.
+
+ \section1 Painting
+
+ \list
+ \o \l{demos/composition}{Composition Modes} demonstrates the range of
+ composition modes available with Qt.
+ \o \l{demos/deform}{Vector Deformation} demonstrates effects that are made
+ possible with a vector-oriented paint engine.
+ \o \l{demos/gradients}{Gradients} shows the different types of gradients
+ that are available in Qt.
+ \o \l{demos/pathstroke}{Path Stroking} shows Qt's built-in dash patterns
+ and shows how custom patterns can be used to extend the range of
+ available patterns.
+ \o \l{demos/affine}{Affine Transformations} demonstrates the different
+ affine transformations that can be used to influence painting operations.
+ \o \l{demos/arthurplugin}{Arthur Plugin} shows the widgets from the
+ other painting demos packaged as a custom widget plugin for \QD.
+ \endlist
+
+ \section1 Item Views
+
+ \list
+ \o \l{demos/interview}{Interview} shows the same model and selection being
+ shared between three different views.
+ \o \l{demos/spreadsheet}{Spreadsheet} demonstrates the use of a table view
+ as a spreadsheet, using custom delegates to render each item according to
+ the type of data it contains.
+ \endlist
+
+ \section1 SQL
+
+ \list
+ \o \l{demos/books}{Books} shows how Qt's SQL support and model/view integration
+ enables the user to modify the contents of a database without requiring
+ knowledge of SQL.
+ \o \l{demos/sqlbrowser}{SQL Browser} demonstrates a console for executing SQL
+ statements on a live database and provides a data browser for interactively
+ visualizing the results.
+ \endlist
+
+ \section1 Rich Text
+
+ \list
+ \o \l{demos/textedit}{Text Edit} shows Qt's rich text editing features and provides
+ an environment for experimenting with them.
+ \endlist
+
+ \section1 Main Window
+
+ \list
+ \o \l{demos/mainwindow}{Main Window} shows Qt's extensive support for main window
+ features, such as tool bars, dock windows, and menus.
+ \o \l{demos/macmainwindow}{Mac Main Window} shows how to create main window applications that has
+ the same appearance as other Mac OS X applications.
+ \endlist
+
+ \section1 Graphics View
+
+ \list
+ \o \l{demos/chip}{40000 Chips} uses the
+ \l{The Graphics View Framework}{Graphics View} framework to efficiently
+ display a large number of individual graphical items on a scrolling canvas,
+ highlighting features such as rotation, zooming, level of detail control,
+ and item selection.
+ \o \l{demos/embeddeddialogs}{Embedded Dialogs} showcases Qt 4.4's \e{Widgets on
+ the Canvas} feature by embedding a multitude of fully-working dialogs into a
+ scene.
+ \o \l{demos/boxes}{Boxes} showcases Qt's OpenGL support and the
+ integration with the Graphics View framework.
+ \endlist
+
+ \section1 Tools
+
+ \list
+ \o \l{demos/undo}{Undo Framework} demonstrates how Qt's
+ \l{Overview of Qt's Undo Framework}{undo framework} is used to
+ provide advanced undo/redo functionality.
+ \endlist
+
+ \section1 QtWebKit
+
+ \list
+ \o \l{Web Browser} demonstrates how Qt's \l{QtWebKit Module}{WebKit module}
+ can be used to implement a small Web browser.
+ \endlist
+
+ \section1 Phonon
+
+ \list
+ \o \l{demos/mediaplayer}{Media Player} demonstrates how the \l{Phonon Module} can be
+ used to implement a basic media player application.
+ \endlist
+
+ \note The Phonon demos are currently not available for the MinGW platform.
+
+*/
diff --git a/doc/src/getting-started/examples.qdoc b/doc/src/getting-started/examples.qdoc
new file mode 100644
index 0000000..253a4e4
--- /dev/null
+++ b/doc/src/getting-started/examples.qdoc
@@ -0,0 +1,1108 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** 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.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page examples-overview.html
+ \raw HTML
+ <script>
+ document.location.href = "examples.html";
+ </script>
+ \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.
+
+ \table
+ \row
+ \o{2,1} \l{Widgets Examples}{\bold Widgets}
+ \o{2,1} \l{Dialog Examples}{\bold Dialogs}
+ \row
+ \i \image widget-examples.png
+ \i
+ 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.
+
+ \i \image dialog-examples.png Dialogs
+ \i
+ 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.
+
+ \row
+ \o{2,1} \l{Main Window Examples}{\bold{Main Windows}}
+ \o{2,1} \l{Layout Examples}{\bold Layouts}
+
+ \row
+ \i \image mainwindow-examples.png MainWindows
+ \i 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.
+
+ \i \image layout-examples.png Layouts
+ \i
+ 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.
+
+ \row
+ \o{2,1} \l{Item Views Examples}{\bold{Item Views}}
+ \o{2,1} \l{Graphics View Examples}{\bold{Graphics View}}
+ \row
+ \o \image itemview-examples.png ItemViews
+ \o
+ 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.
+
+ \o \image graphicsview-examples.png GraphicsView
+ \o
+ Qt is provided with a comprehensive canvas through the GraphicsView
+ classes.
+
+ \row
+ \o{2,1} \l{Painting Examples}{\bold{Painting}}
+ \o{2,1} \l{Rich Text Examples}{\bold{Rich Text}}
+ \row
+ \o \image painting-examples.png Painting
+ \o
+ 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.
+
+ \o \image richtext-examples.png RichText
+ \o
+ 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.
+
+ \row
+ \o{2,1} \l{Desktop Examples}{\bold Desktop}
+ \o{2,1} \l{Drag and Drop Examples}{\bold{Drag and Drop}}
+ \row
+ \o \image desktop-examples.png
+ \o
+ 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.
+
+ \o \image draganddrop-examples.png DragAndDrop
+ \o
+ 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.
+
+ \row
+ \o{2,1} \l{Threading and Concurrent Programming Examples}{\bold{Threading and Concurrent Programming}}
+ \o{2,1} \l{Tools Examples}{\bold{Tools}}
+ \row
+ \o \image thread-examples.png
+ \o
+ 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.
+
+ \o \image tool-examples.png Tools
+ \o
+ 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.
+
+ \row
+ \o{2,1} \l{Network Examples}{\bold{Network}}
+ \o{2,1} \l{Inter-Process Communication Examples}{\bold{Inter-Process Communication}}
+ \row
+ \o \image network-examples.png Network
+ \o
+ Qt is provided with an extensive set of network classes to support both
+ client-based and server side network programming.
+
+ \o \image ipc-examples.png IPC
+ \o
+
+ \row
+ \o{2,1} \l{OpenGL Examples}{\bold OpenGL}
+ \o{2,1} \l{Multimedia Examples}{\bold{Multimedia Framework}}
+ \row
+ \o \image opengl-examples.png OpenGL
+ \o
+ 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.
+
+ \o \image phonon-examples.png
+ \o
+ 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.
+
+ \row
+ \o{2,1} \l{SQL Examples}{\bold{SQL}}
+ \o{2,1} \l{XML Examples}{\bold{XML}}
+ \row
+ \o \image sql-examples.png SQL
+ \o
+ 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.
+
+ \o \image xml-examples.png XML
+ \o
+ 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.
+
+ \row
+ \o{2,1} \l{Qt Designer Examples}{\bold{Qt Designer}}
+ \o{2,1} \l{UiTools Examples}{\bold UiTools}
+ \row
+ \o \image designer-examples.png Designer
+ \o
+ 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.
+
+ \o \image uitools-examples.png UiTools
+ \o
+
+ \row
+ \o{2,1} \l{Qt Linguist Examples}{\bold{Qt Linguist}}
+ \o{2,1} \l{Qt Script Examples}{\bold{Qt Script}}
+ \row
+ \o \image linguist-examples.png QtLinguist
+ \o
+ Internationalization is a core feature of Qt.
+
+ \o \image qtscript-examples.png
+ \o
+ Qt is provided with a powerful embedded scripting environment through the QtScript
+ classes.
+
+ \row
+ \o{2,1} \l{WebKit Examples}{\bold WebKit}
+ \o{2,1} \l{Help System Examples}{\bold{Help System}}
+ \row
+ \o \image webkit-examples.png
+ \o
+ Qt provides an integrated Web browser component based on WebKit, the popular
+ open source browser engine.
+
+ \o \image assistant-examples.png HelpSystem
+ \o
+ 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.
+
+ \row
+ \o{2,1} \l{State Machine Examples}{\bold{State Machine}}
+ \o{2,1} \l{Animation Framework Examples}{\bold{Animation Framework}}
+ \row
+ \o \image statemachine-examples.png
+ \o
+ Qt provides a powerful hierarchical finite state machine through the Qt State
+ Machine classes.
+
+ \o \image animation-examples.png
+ \o
+
+ \row
+ \o{2,1} \l{Qt for Embedded Linux Examples}{\bold{Qt for Embedded Linux}}
+ \o{2,1} \l{ActiveQt Examples}{\bold ActiveQt}
+ \row
+ \o \image qt-embedded-examples.png
+ \o
+ Systems with limited resources, specialized hardware, and small
+ screens require special attention.
+
+ \o \image activeqt-examples.png ActiveQt
+ \o
+
+ \row
+ \o{2,1} \l{D-Bus Examples}{\bold{D-Bus}}
+ \o{2,1} \l{Qt Quarterly}{\bold{Qt Quarterly}}
+ \row
+ \o \image dbus-examples.png D-Bus
+ \o
+
+ \o \image qq-thumbnail.png QtQuarterly
+ \o
+ One more valuable source for examples and explanations of Qt
+ features is the archive of the \l {Qt Quarterly}.
+
+ \endtable
+
+\omit
+ In the list below, examples marked with an asterisk (*) are fully
+ documented. Eventually, all the examples will be fully documented,
+ but sometimes we include an example before we have time to write
+ about it.
+\endomit
+*/
+
+/*!
+ \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/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/wiggly}{Wiggly}\raisedaster
+ \o \l{widgets/windowflags}{Window Flags}\raisedaster
+ \endlist
+*/
+
+/*!
+ \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
+*/
+
+/*!
+ \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
+*/
+
+/*!
+ \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
+*/
+
+/*!
+ \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
+*/
+
+/*!
+ \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
+*/
+
+/*!
+ \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
+*/
+
+/*!
+ \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
+*/
+
+/*!
+ \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
+*/
+
+/*!
+ \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/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
+*/
+
+/*!
+ \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/network-chat}{Network Chat}
+ \o \l{network/fortuneclient}{Fortune Client}\raisedaster
+ \o \l{network/fortuneserver}{Fortune Server}\raisedaster
+ \o \l{network/ftp}{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
+*/
+
+/*!
+ \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 Multimedia 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/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
+*/
+
+/*!
+ \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 platforms by default and
+ an audio plugin API to allow developers to implement there own audio support for
+ custom devices and platforms.
+
+ These examples demonstrate the basic techniques used to take advantage of
+ Audio API in Qt applications.
+
+ \list
+ \o \l{multimedia/audio/audiodevices}{Audio Devices}
+ \o \l{multimedia/audio/audiooutput}{Audio Output}
+ \o \l{multimedia/audio/audioinput}{Audio Input}
+ \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/musicplayer}{Music Player}\raisedaster
+ \endlist
+*/
+
+/*!
+ \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
+*/
+
+
+/*!
+ \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
+*/
+
+/*!
+ \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/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.
+
+ \list
+ \o \l{webkit/previewer}{Previewer}\raisedaster
+ \o \l{webkit/formextractor}{Form Extractor}
+ \o \l{webkit/googlechat}{Google Chat}
+ \o \l{webkit/fancybrowser}{Fancy Browser}
+ \endlist
+*/
+
+/*!
+ \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
+*/
+
+/*!
+ \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 Qt for Embedded Linux Examples
+
+ \image animation-examples.png Animation
+
+ \list
+ \o \l{animation/moveblocks}{Move Blocks}\raisedaster
+ \o \l{animation/stickman}{Stick man}\raisedaster
+ \endlist
+*/
+
+/*!
+ \page examples-embeddedlinux.html
+ \title Qt for Embedded Linux Examples
+
+ \previouspage Animation Framework 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/ahigl}{OpenGL for Embedded Systems}\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 D-Bus Examples
+
+ \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
+*/
+
+/*!
+ \page examples-dbus.html
+ \title D-Bus Examples
+
+ \previouspage ActiveQt Examples
+ \contentspage Qt Examples
+ \nextpage Qt Quarterly
+
+ \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
+*/
diff --git a/doc/src/getting-started/how-to-learn-qt.qdoc b/doc/src/getting-started/how-to-learn-qt.qdoc
new file mode 100644
index 0000000..2a1e383
--- /dev/null
+++ b/doc/src/getting-started/how-to-learn-qt.qdoc
@@ -0,0 +1,118 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** 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.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page how-to-learn-qt.html
+ \title How to Learn Qt
+ \brief Links to guides and resources for learning Qt.
+
+ \nextpage Tutorials
+
+ We assume that you already know C++ and will be using it for Qt
+ development. See the \l{Qt website} for more information about
+ using other programming languages with Qt.
+
+ The best way to learn Qt is to read the official Qt book,
+ \l{http://www.amazon.com/gp/product/0132354160/ref=ase_trolltech/}{C++
+ GUI Programming with Qt 4, Second Edition} (ISBN 0-13-235416-0). This book
+ provides comprehensive coverage of Qt programming all the way
+ from "Hello Qt" to advanced features such as multithreading, 2D and
+ 3D graphics, networking, item view classes, and XML. (The first edition,
+ which is based on Qt 4.1, is available
+ \l{http://www.qtrac.eu/C++-GUI-Programming-with-Qt-4-1st-ed.zip}{online}.)
+
+ If you want to program purely in C++, designing your interfaces
+ in code without the aid of any design tools, take a look at the
+ \l{Tutorials}. These are designed to get you into Qt programming,
+ with an emphasis on working code rather than being a tour of features.
+
+ If you want to design your user interfaces using a design tool, then
+ read at least the first few chapters of the \l{Qt Designer manual}.
+
+ By now you'll have produced some small working applications and have a
+ broad feel for Qt programming. You could start work on your own
+ projects straight away, but we recommend reading a couple of key
+ overviews to deepen your understanding of Qt: \l{Qt Object Model}
+ and \l{Signals and Slots}.
+
+ At this point, we recommend looking at the
+ \l{All Overviews and HOWTOs}{overviews} and reading those that are
+ relevant to your projects. You may also find it useful to browse the
+ source code of the \l{Qt Examples}{examples} that have things in
+ common with your projects. You can also read Qt's source code since
+ this is supplied.
+
+ \table 50%
+ \header
+ \o {2,1} Getting an Overview
+ \row
+ \o \inlineimage qtdemo-small.png
+ \o
+ If you run the \l{Examples and Demos Launcher}, you'll see many of Qt's
+ widgets in action.
+
+ The \l{Qt Widget Gallery} also provides overviews of selected Qt
+ widgets in each of the styles used on various supported platforms.
+ \endtable
+
+ Qt comes with extensive documentation, with hypertext
+ cross-references throughout, so you can easily click your way to
+ whatever interests you. The part of the documentation that you'll
+ probably use the most is the \link index.html API
+ Reference\endlink. Each link provides a different way of
+ navigating the API Reference; try them all to see which work best
+ for you. You might also like to try \l{Qt Assistant}:
+ this tool is supplied with Qt and provides access to the entire
+ Qt API, and it provides a full text search facility.
+
+ There are also a growing number of books about Qt programming; see
+ \l{Books about Qt Programming} for a complete list of Qt books,
+ including translations to various languages.
+
+ Another valuable source of example code and explanations of Qt
+ features is the archive of articles from \l {http://qt.nokia.com/doc/qq}
+ {Qt Quarterly}, a quarterly newsletter for users of Qt.
+
+ For documentation on specific Qt modules and other guides, refer to
+ \l{All Overviews and HOWTOs}.
+
+ Good luck, and have fun!
+*/
diff --git a/doc/src/getting-started/installation.qdoc b/doc/src/getting-started/installation.qdoc
new file mode 100644
index 0000000..10791d8
--- /dev/null
+++ b/doc/src/getting-started/installation.qdoc
@@ -0,0 +1,806 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** 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.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/****************************************************************************
+** Please remember to update the corresponding INSTALL files.
+****************************************************************************/
+
+/*!
+\group installation
+\title Installation
+\brief Installing Qt on supported platforms.
+
+The installation procedure is different on each Qt platform.
+Please follow the instructions for your platform from the following list.
+
+\generatelist{related}
+*/
+
+/*! \page install-x11.html
+\title Installing Qt on X11 Platforms
+\ingroup installation
+\brief How to install Qt on platforms with X11.
+\previouspage Installation
+
+\note Qt for X11 has some requirements that are given in more detail
+in the \l{Qt for X11 Requirements} document.
+
+\list 1
+\o If you have the commercial edition of Qt, install your license
+ file as \c{$HOME/.qt-license}.
+
+ For the open source version you do not need a license file.
+
+\o Unpack the archive if you have not done so already. For example,
+ if you have the \c{qt-x11-opensource-desktop-%VERSION%.tar.gz}
+ package, type the following commands at a command line prompt:
+
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 0
+
+ This creates the directory \c{/tmp/qt-x11-opensource-desktop-%VERSION%}
+ containing the files from the archive. We only support the GNU version of
+ the tar archiving utility. Note that on some systems it is called gtar.
+
+\o Building
+
+ To configure the Qt library for your machine type, run the
+ \c{./configure} script in the package directory.
+
+ By default, Qt is configured for installation in the
+ \c{/usr/local/Trolltech/Qt-%VERSION%} directory, but this can be
+ changed by using the \c{-prefix} option.
+
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 1
+
+ Type \c{./configure -help} to get a list of all available options.
+
+ To create the library and compile all the demos, examples, tools,
+ and tutorials, type:
+
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 2
+
+ If \c{-prefix} is outside the build directory, you need to install
+ the library, demos, examples, tools, and tutorials in the appropriate
+ place. To do this, type:
+
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 3
+
+ , as root if necessary.
+
+ Note that on some systems the make utility is named differently,
+ e.g. gmake. The configure script tells you which make utility to
+ use.
+
+ \bold{Note:} If you later need to reconfigure and rebuild Qt from the
+ same location, ensure that all traces of the previous configuration are
+ removed by entering the build directory and typing \c{make confclean}
+ before running \c configure again.
+
+\o Environment variables
+
+ In order to use Qt, some environment variables needs to be
+ extended.
+
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 4
+
+ This is done like this:
+
+ In \c{.profile} (if your shell is bash, ksh, zsh or sh), add the
+ following lines:
+
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 5
+
+ In \c{.login} (in case your shell is csh or tcsh), add the following line:
+
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 6
+
+ If you use a different shell, please modify your environment
+ variables accordingly.
+
+ For compilers that do not support rpath you must also extended the
+ \c LD_LIBRARY_PATH environment variable to include
+ \c{/usr/local/Trolltech/Qt-%VERSION%/lib}. On Linux with GCC this step
+ is not needed.
+
+\o That's all. Qt is now installed.
+
+ If you are new to Qt, we suggest that you take a look at the demos
+ and examples to see Qt in action. Run the Qt Examples and Demos
+ either by typing \c qtdemo on the command line or through the
+ desktop's Main menu.
+
+ You might also want to try the following links:
+
+ \list
+ \o \l{Configuring Qt}
+ \o \l{How to Learn Qt}
+ \o \l{Tutorials}
+ \o \l{Developer Zone}
+ \o \l{Deploying Qt Applications}
+ \endlist
+\endlist
+
+ We hope you will enjoy using Qt. Good luck!
+
+*/
+
+/*!
+\page install-win.html
+\title Installing Qt on Windows
+\ingroup installation
+\brief How to install Qt on Windows.
+\previouspage Installation
+
+\note Qt for Windows has some requirements that are given in more detail
+in the \l{Qt for Windows Requirements} document.
+
+\table
+\row \o \bold{Notes:}
+\list
+\o If you have obtained a binary package for this platform,
+consult the installation instructions provided instead of the ones in
+this document.
+\o \l{Open Source Versions of Qt} is not officially supported for use with
+any version of Visual Studio. Integration with Visual Studio is available
+as part of the \l{Qt Commercial Editions}.
+
+\endlist
+\endtable
+
+\list 1
+\o If you have the commercial edition of Qt, copy the license file
+ from your account on dist.trolltech.com into your home directory
+ (this may be known as the \c userprofile environment variable) and
+ rename it to \c{.qt-license}. This renaming process must be done
+ using a \e{command prompt} on Windows, \bold{not} with Windows Explorer.
+ For example on Windows 2000, \c{%USERPROFILE%} should be something
+ like \c{C:\Documents and Settings\username}
+
+ For the open source version you do not need a license file.
+
+\o Uncompress the files into the directory you want Qt installed;
+ e.g. \c{C:\Qt\%VERSION%}.
+
+ \note The install path must not contain any spaces or Windows specific
+ file system characters.
+
+\o Environment variables
+
+ In order to build and use Qt, the \c PATH environment variable needs to be
+ extended:
+
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 7
+
+ This is done by adding \c{c:\Qt\%VERSION%\bin} to the \c PATH variable.
+
+ For newer versions of Windows, \c PATH can be extended through
+ the \menu{Control Panel|System|Advanced|Environment variables} menu.
+
+ You may also need to ensure that the locations of your compiler and
+ other build tools are listed in the \c PATH variable. This will depend
+ on your choice of software development environment.
+
+ \bold{Note}: If you don't use the configured shells, which is
+ available in the application menu, in the \l{Open Source Versions of Qt},
+ \c configure requires that \c sh.exe is not in the path
+ or that it is run from \c msys. This also goes for mingw32-make.
+
+\o Building
+
+ To configure the Qt library for your machine, type the following command
+ in a \bold{Visual Studio} command prompt:
+
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 8
+
+ Type \c{configure -help} to get a list of all available options.
+
+ If you have multiple compilers installed, and want to build the Qt library
+ using a specific compiler, you must specify a \c qmake specification.
+ This is done by pasing \c{-platform <spec>} to configure; for example:
+
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 9
+
+ In some cases you need to set up the compilation environment before running
+ configure in order to use the right compiler. For instance, you need to do this
+ if you have Visual Studio 2005 installed and want to compile Qt using the x64
+ compiler because the 32-bit and 64-bit compiler both use the same
+ \c qmake specification file.
+ This is usually done by selecting
+ \menu{Microsoft Visual Studio 2005|Visual Studio Tools|<Command Prompt>}
+ from the \gui Start menu.
+
+ The actual commands needed to build Qt depends on your development
+ system. For Microsoft Visual Studio to create the library and
+ compile all the demos, examples, tools and tutorials type:
+
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 10
+
+ \note If you later need to reconfigure and rebuild Qt from the
+ same location, ensure that all traces of the previous configuration are
+ removed by entering the build directory and typing \c{nmake distclean}
+ before running \c configure again.
+
+\o That's all. Qt is now installed.
+
+ If you are new to Qt, we suggest that you take a look at the demos
+ and examples to see Qt in action. Run the Qt Examples and Demos
+ either by typing \c qtdemo on the command line or through the
+ desktop's Start menu.
+
+ You might also want to try the following links:
+
+ \list
+ \o \l{How to Learn Qt}
+ \o \l{Tutorials}
+ \o \l{Developer Zone}
+ \o \l{Deploying Qt Applications}
+ \endlist
+
+\endlist
+
+ We hope you will enjoy using Qt. Good luck!
+
+*/
+
+/*! \page install-mac.html
+\title Installing Qt on Mac OS X
+\ingroup installation
+\brief How to install Qt on Mac OS X.
+\previouspage Installation
+
+\note Qt for Mac OS X has some requirements that are given in more detail
+in the \l{Qt for Mac OS X Requirements} document.
+
+\bold{Note for the binary package}: If you have the binary package, simply double-click on the Qt.mpkg
+and follow the instructions to install Qt. You can later run the \c{uninstall-qt.py}
+script to uninstall the binary package. The script is located in /Developer/Tools and
+must be run as root.
+
+The following instructions describe how to install Qt from the source package.
+
+\list 1
+\o If you have the commercial edition of Qt, install your license
+ file as \c{$HOME/.qt-license}.
+
+ For the open source version you do not need a license file.
+
+\o Unpack the archive if you have not done so already. For example,
+ if you have the \c{qt-mac-opensource-desktop-%VERSION%.tar.gz}
+ package, type the following commands at a command line prompt:
+
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 11
+
+ This creates the directory \c{/tmp/qt-mac-opensource-desktop-%VERSION%}
+ containing the files from the archive.
+
+\o Building
+
+ To configure the Qt library for your machine type, run the
+ \c{./configure} script in the package directory.
+
+ By default, Qt is configured for installation in the
+ \c{/usr/local/Trolltech/Qt-%VERSION%} directory, but this can be
+ changed by using the \c{-prefix} option.
+
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 12
+
+ Type \c{./configure -help} to get a list of all available options.
+
+ Note that you will need to specify \c{-universal} if you want to
+ build universal binaries, and also supply a path to the \c{-sdk}
+ option if your development machine has a PowerPC CPU. By default,
+ Qt is built as a framework, but you can built it as a set of
+ dynamic libraries (dylibs) by specifying the \c{-no-framework}
+ option.
+
+ Qt can also be configured to be built with debugging symbols. This
+ process is described in detail in the \l{Debugging Techniques}
+ document.
+
+ To create the library and compile all the demos, examples, tools,
+ and tutorials, type:
+
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 13
+
+ If \c{-prefix} is outside the build directory, you need to install
+ the library, demos, examples, tools, and tutorials in the appropriate
+ place. To do this, type:
+
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 14
+
+ as root, if neccessary (note that this requires that you have administrator access
+ to your machine).
+
+ There is a potential race condition when running make install with multiple
+ jobs. It is best to only run one make job (-j1) for the install.
+
+ \bold{Note:} If you later need to reconfigure and rebuild Qt from the
+ same location, ensure that all traces of the previous configuration are
+ removed by entering the build directory and typing \c{make confclean}
+ before running \c configure again.
+
+\o Environment variables
+
+ In order to use Qt, some environment variables need to be
+ extended.
+
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 15
+
+ This is done like this:
+
+ In \c{.profile} (if your shell is bash), add the following lines:
+
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 16
+
+ In \c{.login} (in case your shell is csh or tcsh), add the following line:
+
+\snippet doc/src/snippets/code/doc_src_installation.qdoc 17
+
+ If you use a different shell, please modify your environment
+ variables accordingly.
+
+\o That's all. Qt is now installed.
+
+ If you are new to Qt, we suggest that you take a look at the demos
+ and examples to see Qt in action. Run the Qt Examples and Demos
+ either by typing \c qtdemo on the command line or through the
+ desktop's Start menu.
+
+ You might also want to try the following links:
+
+ \list
+ \o \l{How to Learn Qt}
+ \o \l{Tutorials}
+ \o \l{Developer Zone}
+ \o \l{Deploying Qt Applications}
+ \endlist
+\endlist
+
+ We hope you will enjoy using Qt. Good luck!
+
+*/
+
+/*! \page install-wince.html
+\title Installing Qt on Windows CE
+\ingroup installation
+\ingroup qtce
+\brief How to install Qt on Windows CE.
+\previouspage Installation
+
+\note Qt for Windows CE has some requirements that are given in more detail
+in the \l{Qt for Windows CE Requirements} document.
+
+\list 1
+ \o Uncompress the files into the directory you want to install Qt into;
+ e.g., \c{C:\Qt\%VERSION%}.
+
+ \note The install path must not contain any spaces.
+
+ \o Environment variables
+
+ In order to build and use Qt, the \c PATH environment variable needs
+ to be extended:
+
+ \snippet doc/src/snippets/code/doc_src_installation.qdoc 18
+
+ This is done by adding \c{c:\Qt\%VERSION%\bin} to the \c PATH variable.
+
+ For newer versions of Windows, \c PATH can be extended through
+ "Control Panel->System->Advanced->Environment variables" and for
+ older versions by editing \c{c:\autoexec.bat}.
+
+ Make sure the enviroment variables for your compiler are set.
+ Visual Studio includes \c{vcvars32.bat} for that purpose - or simply
+ use the "Visual Studio Command Prompt" from the Start menu.
+
+ \o Configuring Qt
+
+ To configure Qt for Windows Mobile 5.0 for Pocket PC, type the
+ following:
+
+ \snippet doc/src/snippets/code/doc_src_installation.qdoc 19
+
+ If you want to configure Qt for another platform or with other
+ options, type \c{configure -help} to get a list of all available
+ options. See the \c README file for the list of supported platforms.
+
+
+ \o Building Qt
+
+ Now, to build Qt you first have to update your \c PATH, \c INCLUDE
+ and \c LIB paths to point to the correct resources for your target
+ platforms. For a default installation of the Windows Mobile 5.0
+ Pocket PC SDK, this is done with the following commands:
+
+ \snippet doc/src/snippets/code/doc_src_installation.qdoc 20
+
+ We provide a convenience script for this purpose, called \c{setcepaths}.
+ Simply type:
+
+ \snippet doc/src/snippets/code/doc_src_installation.qdoc 21
+
+ Then to build Qt type:
+
+ \snippet doc/src/snippets/code/doc_src_installation.qdoc 22
+
+ \o That's all. Qt is now installed.
+
+ To get started with Qt, you can check out the examples found in the
+ \c{examples} directory of your Qt installation. The documentation can
+ be found in \c{doc\html}.
+
+ \bold{Remember:} If you reconfigure Qt for a different platform,
+ make sure you start with a new clean console to get rid of the
+ platform dependent include directories.
+
+ The links below provide further information for using Qt:
+ \list
+ \o \l{How to Learn Qt}
+ \o \l{Tutorials}
+ \o \l{Developer Zone}
+ \o \l{Deploying Qt Applications}
+ \endlist
+
+ You might also want to try the following Windows CE specific links:
+ \list
+ \o \l{Windows CE - Introduction to using Qt}
+ \o \l{Windows CE - Working with Custom SDKs}
+ \o \l{Windows CE - Using shadow builds}
+ \endlist
+
+ Information on feature and performance tuning for embedded builds can
+ be found on the following pages:
+ \list
+ \o \l{Fine-Tuning Features in Qt}
+ \o \l{Qt Performance Tuning}
+ \endlist
+\endlist
+
+ We hope you will enjoy using Qt. Good luck!
+*/
+
+/*!
+ \page requirements.html
+ \title General Qt Requirements
+ \ingroup installation
+ \brief Outlines the general requirements and dependencies needed to install Qt.
+
+ This page describes the specific requirements of libraries and components on which
+ Qt depends. For information about installing Qt, see the \l{Installation} page.
+
+ For information about the platforms that Qt supports, see the \l{Supported Platforms}
+ page.
+
+ \section1 OpenSSL (version 0.9.7 or later)
+
+ Support for \l{SSL}{Secure Sockets Layer (SSL)} communication is provided by the
+ \l{OpenSSL Toolkit}, which must be obtained separately.
+
+ \section1 Platform-Specific Requirements
+
+ Each platform has its own specific set of dependencies. Please see the relevant
+ page for more details about the components that are required to build and install
+ Qt on your platform.
+
+ \list
+ \o \l{Qt for Embedded Linux Requirements}
+ \o \l{Qt for Mac OS X Requirements}
+ \o \l{Qt for Windows CE Requirements}
+ \o \l{Qt for Windows Requirements}
+ \o \l{Qt for X11 Requirements}
+ \endlist
+*/
+
+/*!
+ \page requirements-win.html
+ \title Qt for Windows Requirements
+ \ingroup installation
+ \brief Setting up the Windows environment for Qt.
+ \previouspage General Qt Requirements
+
+ If you are using a binary version of Qt with Visual Studio 2005, you must
+ first install the Visual Studio Service Pack 1 available
+ \l{http://www.microsoft.com/downloads/details.aspx?FamilyId=BB4A75AB-E2D4-4C96-B39D-37BAF6B5B1DC&amp;displaylang=en}{here}
+ to avoid runtime conflicts.
+
+ To build Qt with Phonon on Windows, you require:
+
+ \list
+ \o Microsoft's DirectX Software Development Kit which can be
+ downloaded
+ \l{http://msdn2.microsoft.com/en-us/directx/aa937788.aspx}{here}, and
+ \o Microsoft's Windows Server 2003 R2 Platform SDK which is available
+ \l{http://www.microsoft.com/downloads/details.aspx?FamilyID=0baf2b35-c656-4969-ace8-e4c0c0716adb&amp;DisplayLang=en}{here}.
+ \endlist
+
+ \sa {Known Issues in %VERSION%}
+*/
+
+/*!
+ \page requirements-mac.html
+ \title Qt for Mac OS X Requirements
+ \ingroup installation
+ \brief Setting up the Mac OS X environment for Qt.
+ \previouspage General Qt Requirements
+
+ \sa {Known Issues in %VERSION%}
+*/
+
+/*!
+ \page requirements-x11.html
+ \title Qt for X11 Requirements
+ \ingroup installation
+ \brief Setting up the X11 environment for Qt.
+ \previouspage General Qt Requirements
+
+ \tableofcontents
+
+ \section1 QtGui Dependencies
+
+ \image x11_dependencies.png Qt for X11 Dependencies
+
+ \raw HTML
+ <style type="text/css" id="colorstyles">
+ #QtGuiColor { background-color: #98fd00; color: black }
+ #QtCoreColor { background-color: #9c9cff; color: black }
+ #DefaultColor { background-color: #f6f6dc; color: black }
+ #FreetypeColor { background-color: #e6e6fa; color: black }
+ #GLColor { background-color: #ffc0cb; color: black }
+ #PthreadColor { background-color: #bdb76b; color: black }
+ #OptionalColor { background-color: #cae1ff; color: black }
+ #SMColor { background-color: #c2fafa; color: black }
+ #MiscColor { background-color: #f0f9ff; color: black }
+ #GlibColor { background-color: #b3b3b3; color: black }
+ </style>
+ \endraw
+
+ The QtGui module and the QtCore module, which provides the non-GUI features required
+ by QtGui, depend on the libraries described in the following table. To build
+ Qt from its source code, you will also need to install the development
+ packages for these libraries for your system.
+
+ \table 90%
+ \header \o Name \o Library \o Notes \o Configuration options \o Minimum working version
+ \raw HTML
+ <tr id="OptionalColor">
+ <td> XRender </td><td> libXrender </td><td> X Rendering Extension; used for anti-aliasing</td>
+ <td><tt>-xrender</tt> or auto-detected</td><td>0.9.0</td>
+ </tr><tr id="OptionalColor">
+ <td> Xrandr </td><td> libXrandr </td><td> X Resize and Rotate Extension</td>
+ <td><tt>-xrandr</tt> or auto-detected</td><td>1.0.2</td>
+ </tr><tr id="OptionalColor">
+ <td> Xcursor </td><td> libXcursor </td><td> X Cursor Extension</td>
+ <td><tt>-xcursor</tt> or auto-detected</td><td>1.1.4</td>
+ </tr><tr id="OptionalColor">
+ <td> Xfixes </td><td> libXfixes </td><td> X Fixes Extension</td>
+ <td><tt>-xfixes</tt> or auto-detected</td><td>3.0.0</td>
+ </tr><tr id="OptionalColor">
+ <td> Xinerama </td><td> libXinerama </td><td> Multi-head support</td>
+ <td><tt>-xinerama</tt> or auto-detected</td><td>1.1.0</td>
+
+ </tr><tr id="OptionalColor">
+ <td> Fontconfig </td><td> libfontconfig </td><td> Font customization and configuration</td>
+ <td><tt>-fontconfig</tt> or auto-detected</td><td>2.1</td>
+ </tr><tr id="OptionalColor">
+ <td> FreeType </td><td> libfreetype </td><td> Font engine</td>
+ <td></td><td>2.1.3</td>
+
+ </tr><tr id="DefaultColor">
+ <td> Xi </td><td> libXi </td><td> X11 Input Extensions</td>
+ <td><tt>-xinput</tt> or auto-detected</td><td>1.3.0</td>
+ </tr><tr id="DefaultColor">
+ <td> Xt </td><td> libXt </td><td> Xt Intrinsics</td><td></td><td>0.99</td>
+ </tr><tr id="DefaultColor">
+ <td> Xext </td><td> libXext </td><td> X Extensions</td><td></td><td>6.4.3</td>
+ </tr><tr id="DefaultColor">
+ <td> X11 </td><td> libX11 </td><td> X11 Client-Side Library</td><td></td><td>6.2.1</td>
+
+ </tr><tr id="SMColor">
+ <td> SM </td><td> libSM </td><td> X Session Management</td>
+ <td><tt>-sm</tt> or auto-detected</td><td>6.0.4</td>
+ </tr><tr id="SMColor">
+ <td> ICE </td><td> libICE </td><td> Inter-Client Exchange</td>
+ <td><tt>-sm</tt> or auto-detected</td><td>6.3.5</td>
+
+ </tr><tr id="GlibColor">
+ <td> glib </td><td> libglib-2.0 </td><td> Common event loop handling</td>
+ <td><tt>-glib</tt> or auto-detected</td><td>2.8.3</td>
+ </tr><tr id="PthreadColor">
+ <td> pthread </td><td> libpthread </td><td> Multithreading</td>
+ <td></td><td>2.3.5</td>
+ </tr>
+ \endraw
+ \endtable
+
+ \note You must compile with XRender support to get alpha transparency
+ support for pixmaps and images.
+
+ Development packages for these libraries contain header files that are used
+ when building Qt from its source code. On Debian-based GNU/Linux systems,
+ for example, we recommend that you install the following development
+ packages:
+
+ \list
+ \o libfontconfig1-dev
+ \o libfreetype6-dev
+ \o libx11-dev
+ \o libxcursor-dev
+ \o libxext-dev
+ \o libxfixes-dev
+ \o libxft-dev
+ \o libxi-dev
+ \o libxrandr-dev
+ \o libxrender-dev
+ \endlist
+
+ Some of these packages depend on others in this list, so installing one
+ may cause others to be automatically installed. Other distributions may
+ provide system packages with similar names.
+
+ \section1 OpenGL Dependencies
+
+ The configure script will autodetect if OpenGL headers and libraries are
+ installed on your system, and if so, it will include the QtOpenGL module
+ in the Qt library.
+
+ If your OpenGL headers or libraries are placed in a non-standard directory,
+ you may need to change the \c QMAKE_INCDIR_OPENGL and/or
+ \c QMAKE_LIBDIR_OPENGL in the config file for your system.
+
+ The QGL documentation assumes that you are familiar with OpenGL
+ programming. If you're new to the subject a good starting point is
+ \l{http://www.opengl.org/}.
+
+ \section1 Phonon Dependencies
+
+ As described in the \l{Phonon Overview}, Phonon uses the GStreamer multimedia
+ framework as the backend for audio and video playback on X11. The minimum required
+ version of GStreamer is 0.10.
+
+ To build Phonon, you need the GStreamer library, base plugins, and development
+ files for your system. The package names for GStreamer vary between Linux
+ distributions; try searching for \c gstreamer or \c libgstreamer in your
+ distribution's package repository to find suitable packages.
+
+ \sa {Known Issues in %VERSION%}
+*/
+
+/*!
+ \page requirements-wince.html
+ \title Qt for Windows CE Requirements
+ \ingroup installation
+ \brief Setting up the Windows CE environment for Qt.
+ \previouspage General Qt Requirements
+
+ Qt is known to work with Visual Studio 2005 and the following SDKs for
+ Windows CE development on Windows XP and Windows Vista:
+
+ \list
+ \o Windows CE 5.0 Standard SDK for ARM, X86, and MIPS
+ \o Windows CE 6.0 SDKs for ARM generated using the defaults found in
+ Platform Builder
+ \o Windows Mobile 5.0 (\e{Pocket PC}, \e{Smartphone} and
+ \e{Pocket PC with Phone} editions)
+ \o Windows Mobile 6.0 (\e{Standard}, \e{Classic} and
+ \e{Professional} editions)
+ \endlist
+
+ Below is a list of links to download the SDKs:
+
+ \list
+ \o \l{http://www.microsoft.com/downloads/details.aspx?familyid=fa1a3d66-3f61-4ddc-9510-ae450e2318c3&amp;displaylang=en}
+ {Windows CE 5 Standard SDK}
+ \o \l{http://www.microsoft.com/downloads/details.aspx?familyid=83A52AF2-F524-4EC5-9155-717CBE5D25ED&amp;displaylang=en}
+ {Windows Mobile 5 Pocket PC}
+ \o \l{http://www.microsoft.com/downloads/details.aspx?familyid=DC6C00CB-738A-4B97-8910-5CD29AB5F8D9&amp;displaylang=en}
+ {Windows Mobile 5 Smartphone}
+ \o \l{http://www.microsoft.com/downloads/details.aspx?familyid=06111A3A-A651-4745-88EF-3D48091A390B&amp;displaylang=en }
+ {Windows Mobile 6 Professional/Standard}
+ \endlist
+
+ \table
+ \row \bold{Note:}
+ \o
+ \list 1
+ \o Currently, there is only compile support for Windows CE 5.0
+ Standard SDK for SH-4.
+ \o There is currently no "out of the box" support for the
+ Windows CE Automotive or Portable Media SDKs from Microsoft.
+ \endlist
+ \endtable
+
+
+ Device manufacturers may prefer to make their own customized version of
+ Windows CE using Platform Builder. In order for Qt for Windows CE to
+ support a custom SDK, a build specification needs to be created. More
+ information on Windows CE Customization can be found
+ \l{Windows CE - Working with Custom SDKs}{here}.
+
+ \sa {Known Issues in %VERSION%}
+*/
+
+/*!
+ \page requirements-embedded-linux.html
+ \title Qt for Embedded Linux Requirements
+ \ingroup installation
+ \brief Setting up the Embedded Linux environment for Qt.
+ \previouspage General Qt Requirements
+
+ \sa {Known Issues in %VERSION%}
+
+ \section1 Building Qt for Embedded Linux with uclibc
+
+ If you intend to include the QtWebKit module in your Qt build then you should
+ use version \bold{uClibc 0.9.29 or greater} as that is the earliest version
+ with sufficient pthread support.
+
+ \section1 Memory Requirements
+
+ The memory and storage requirements for Qt for Embedded Linux depend on a
+ an variety of different factors, including the target architecture and the
+ features enabled in the Qt build.
+
+ The following table shows typical library sizes for the most common Qt
+ libraries on different architectures, built in release mode with different
+ feature profiles.
+
+ \table
+ \header \o{1,2} Architecture \o{1,2} Compiler \o{2,1} QtCore \o{2,1} QtGui \o{2,1} QtNetwork \o{2,1} QtWebKit
+ \header \o Minimal \o Normal \o Minimal \o Normal \o Minimal \o Normal \o Minimal \o Normal
+ \row \o linux-x86-g++ \o GCC 4.2.4 \o 1.7M \o 2.7M \o 3.3M \o 9.9M \o 653K \o 1.1M \o N/A \o 17M
+ \row \o linux-arm-g++ \o GCC 4.1.1 \o 1.9M \o 3.2M \o 4.1M \o 11M \o 507K \o 1.0M \o N/A \o 17M
+ \row \o linux-mips-g++ (MIPS32)
+ \o GCC 4.2.4 \o 2.0M \o 3.2M \o 4.5M \o 12M \o 505K \o 1003K \o N/A \o 21M
+ \endtable
+
+ Library sizes are given in the following units: K = 1024 bytes; M = 1024K.
+ QtWebKit is excluded from the minimal configuration.
+
+ The \l{Fine-Tuning Features in Qt} document covers the process of configuring
+ Qt builds to avoid the inclusion of unnecessary features.
+
+ \section1 Additional X11 Libraries for QVFb
+
+ The Virtual Framebuffer (QVFb) application requires the \c libxtst library
+ in addition to the libraries used to build Qt for X11. This library
+ enables the use of the Record extension to the X protocol to be used in
+ applications.
+*/
diff --git a/doc/src/getting-started/known-issues.qdoc b/doc/src/getting-started/known-issues.qdoc
new file mode 100644
index 0000000..0a94d86
--- /dev/null
+++ b/doc/src/getting-started/known-issues.qdoc
@@ -0,0 +1,143 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** 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.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page known-issues.html
+ \title Known Issues in %VERSION%
+ \ingroup platform-specific
+ \brief A summary of known issues in Qt %VERSION% at the time of release.
+
+ An up-to-date list of known issues with Qt %VERSION% can be found via the
+ \l{Task Tracker} on the Qt website which provides additional information
+ about known issues and tasks related to Qt.
+
+ \section1 General Issues
+
+ When running Qt applications on Windows or with \c{-graphicssystem raster},
+ any process that triggers a QWidget::update() from within a destructor
+ might result in a crash.
+
+
+ \section1 Issues with Third Party Software
+
+ \section2 X11 Hardware Support
+
+ \list
+ \o There is a bug in the 169.xx NVIDIA drivers on certain GeForce 8 series
+ cards that is triggered by the OpenGL paint engine when using QPainter
+ on a QGLWidget to draw paths and polygons. Some other painting
+ operations that end up in the path fallback are affected as well. The
+ bug causes the whole X server to repeatedly hang for several seconds at
+ a time.
+ \o There is an issue with NVIDIA's 9xxx driver series on X11 that causes a
+ crash in cases where there are several \l{QGLContext}s and the extended
+ composition modes are used (the composition modes between and including
+ QPainter::CompositionMode_Multiply and
+ QPainter::CompositionMode_Exclusion). This affects the composition mode
+ demo in Qt 4.5, for example. The crash does not occur in newer versions
+ of the drivers.
+ \endlist
+
+ \section2 Windows Hardware Support
+
+ \list
+ \o When using version 6.14.11.6921 of the NVIDIA drivers for the GeForce
+ 6600 GT under Windows XP, Qt applications which use drag and drop will
+ display reduced size drag and drop icons when run alongside
+ applications that use OpenGL. This problem can be worked around by
+ reducing the level of graphics acceleration provided by the driver, or
+ by disabling hardware acceleration completely.
+ \endlist
+
+ \section2 Windows Software Issues
+
+ \list
+
+ \o When building Qt 4.5.0 with Windows 7, the build fails with an error
+ message regarding failing to embed manifest. This a known issue with
+ Windows 7, explained in the Windows 7 SDK Beta
+ \l{http://download.microsoft.com/download/8/8/0/8808A472-6450-4723-9C87-977069714B27/ReleaseNotes.Htm}
+ {release notes}. A workaround for this issue is to patch the
+ \bold{embed_manifest_exe.prf} file with the following:
+
+ \code
+ diff --git a/mkspecs/features/win32/embed_manifest_exe.prf b/mkspecs/features/win32/embed_manifest_exe.prf
+ index e1747f1..05f116e 100644
+ --- a/mkspecs/features/win32/embed_manifest_exe.prf
+ +++ b/mkspecs/features/win32/embed_manifest_exe.prf
+ @@ -8,4 +8,9 @@ if(win32-msvc2005|win32-msvc2008):!equals(TEMPLATE_PREFIX, "vc"):equals(TEMPLATE
+ QMAKE_POST_LINK = $$quote(mt.exe -nologo -manifest \"$$replace(OBJECTS_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.ma
+ nifest\" -outputresource:$(DESTDIR_TARGET);1$$escape_expand(\n\t))
+ QMAKE_POST_LINK += $$QMAKE_PREV_POST_LINK
+ QMAKE_CLEAN += \"$$replace(OBJECTS_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\"
+ + isEmpty(RC_FILE) {
+ + system("echo.>$$replace(OUT_PWD,/,\\)\\$$replace(OBJECTS_DIR,/,\\)\\Windows7WorkAround.rc")
+ + RC_FILE = $$replace(OUT_PWD,/,\\)\\$$replace(OBJECTS_DIR,/,\\)\\Windows7WorkAround.rc
+ + }
+ +
+ }
+ \endcode
+
+ \o Under certain circumstances Visual Studio Integration v1.4.0 will not
+ be able to install the integration for Visual Studio 2005 on Windows
+ Vista. An error message states that .NET Framework v2.0 Service Pack 1
+ is not installed. This is due to a problem with the built-in
+ installation of this on Windows Vista. This issue can be fixed by
+ installing .NET Framework version 3.5.
+
+ \o With NVIDIA GeForce 7950 GT (driver version 6.14.11.7824), a fullscreen
+ QGLWidget flickers when child widgets are shown/hidden. The workaround
+ for this is to use \l{QWidget::}{setGeometry()} with a width/height 1
+ pixel bigger than your geometry and call \l{QWidget::}{show()}.
+
+ \o A bug in the Firebird database can cause an application to crash when
+ \c{fbembed.dll} is unloaded. The bug is fixed in version 2.5.
+
+ \endlist
+
+ \section2 Mac OS X Software Support
+
+ \list
+ \o If a sheet is opened for a given window, clicking the title bar of that
+ window will cause it to flash. This behavior has been reported to Apple
+ (bug number 5827676).
+ \endlist
+*/
diff --git a/doc/src/getting-started/tutorials.qdoc b/doc/src/getting-started/tutorials.qdoc
new file mode 100644
index 0000000..525b6e4
--- /dev/null
+++ b/doc/src/getting-started/tutorials.qdoc
@@ -0,0 +1,103 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** 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.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page tutorials.html
+ \title Tutorials
+
+ \contentspage How to Learn Qt
+ \nextpage Qt Examples
+
+ \brief Tutorials, guides and overviews to help you learn Qt.
+
+ \nextpage Qt Examples
+
+ A collection of tutorials and "walkthrough" guides are provided with Qt to
+ help new users get started with Qt development. These documents cover a
+ range of topics, from basic use of widgets to step-by-step tutorials that
+ show how an application is put together.
+
+ \table
+ \row
+ \o{2,1} \l{Widgets Tutorial}{\bold Widgets}
+ \o{2,1} \l{Address Book Tutorial}{\bold {Address Book}}
+ \row
+ \o \image widget-examples.png Widgets
+ \o
+ A beginner's guide to getting started with widgets and layouts to create
+ GUI applications.
+
+ \o \image addressbook-tutorial.png AddressBook
+ \o
+ A seven part guide to creating a fully-functioning address book
+ application. This tutorial is also available with
+ \l{Tutoriel "Carnet d'adresses"}{French explanation}.
+
+ \row
+ \o{2,1} \l{A Quick Start to Qt Designer}{\bold{Qt Designer}}
+ \o{2,1} \l{Qt Linguist Manual: Programmers#Tutorials}{\bold {Qt Linguist}}
+ \row
+ \o \image designer-examples.png QtDesigner
+ \o
+ A quick guide through \QD showing the basic steps to create a
+ form with this interactive tool.
+
+ \o \image linguist-examples.png QtLinguist
+ \o
+ A guided tour through the translations process, explaining the
+ tools provided for developers, translators and release managers.
+
+ \row
+ \o{2,1} \l{QTestLib Tutorial}{\bold QTestLib}
+ \o{2,1} \l{qmake Tutorial}{\bold qmake}
+ \row
+ \o{2,1}
+ This tutorial gives a short introduction to how to use some of the
+ features of Qt's unit-testing framework, QTestLib. It is divided into
+ four chapters.
+
+ \o{2,1}
+ This tutorial teaches you how to use \c qmake. We recommend that
+ you read the \l{qmake Manual}{qmake user guide} after completing
+ this tutorial.
+
+ \endtable
+*/