summaryrefslogtreecommitdiffstats
path: root/doc/how-to-learn-qt.doc
blob: 8c5254fe5763987377ed36e0dcc1e538db8c5b7e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
/****************************************************************************
**
** Documentation for class hierarchy
**
** Copyright (C) 2001-2008 Trolltech ASA.  All rights reserved.
**
** This file is part of the Qt GUI Toolkit.
**
** This file may be used under the terms of the GNU General
** Public License versions 2.0 or 3.0 as published by the Free
** Software Foundation and appearing in the files LICENSE.GPL2
** and LICENSE.GPL3 included in the packaging of this file.
** Alternatively you may (at your option) use any later version
** of the GNU General Public License if such license has been
** publicly approved by Trolltech ASA (or its successors, if any)
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:
** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
** or contact the sales department at sales@trolltech.com.
**
** This file may be used under the terms of the Q Public License as
** defined by Trolltech ASA and appearing in the file LICENSE.QPL
** included in the packaging of this file.  Licensees holding valid Qt
** Commercial licenses may use this file in accordance with the Qt
** Commercial License Agreement provided with the Software.
**
** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
** herein.
**
**********************************************************************/

/*!
\page how-to-learn-qt.html

\title How to Learn Qt

We assume that you already know C++!

The best way to learn Qt is to read the official Qt book, <a
href="http://www.amazon.com/exec/obidos/ASIN/0131240722/trolltech/">
C++ GUI Programming with Qt 3 (ISBN 0-13-124072-2)</a>.
\if defined(commercial)
\footnote
Some of the book's examples make use of modules that are only
available in the Qt Enterprise Edition.
\endfootnote
\endif
This book provides comprehensive coverage of Qt programming all the
way from "Hello Qt" to advanced features like multithreading, 2D and
3D graphics, networking, and XML.

\l{http://www.trolltech.com/training/}{Qt and Qtopia training} is also
available. This takes the form of open enrollment courses for the
public and on-site training for you and your colleagues.

If you can't get hold of the official book, or if you can't wait for
it to arrive then here is our suggested learning programme.

Read the \link http://www.trolltech.com/products/qt/whitepaper.html
Qt Whitepaper\endlink first. This provides an overview of Qt's
facilities and has snippets of code which demonstrate the Qt approach
to programming. It gives you the 'big picture'.

If you want to program purely in C++, designing your interfaces in
code without the aid of any design tools, read the tutorials. \link
tutorial.html Tutorial #1\endlink is designed to get you into Qt
programming, with the emphasis on working code rather than being a
tour of features. \link tutorial2.html Tutorial #2\endlink presents a
more realistic example, demonstrating how to code menus, toolbars,
file loading and saving, dialogs, etc.

If you want to design your user interfaces using a design tool, then
read at least the first few chapters of the \link designer-manual.book
Qt Designer manual\endlink. After this, it is still worthwhile trying
the pure C++ Tutorials (\link tutorial.html Tutorial #1\endlink and
\link tutorial2.html Tutorial #2\endlink) mentioned above.

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: the \link
object.html Qt Object Model \endlink and \link signalsandslots.html
Signals and Slots\endlink. 

At this point we recommend looking at the \link overviews-list.html
overviews\endlink and reading those that are relevant to your
projects. You may also find it useful to browse the source code of the
\link examples.html examples\endlink that have things in common with
your projects. You can also read Qt's source code since this is
supplied. 

If you run the \c demo application (in \c{$QTDIR/examples/demo})
you'll see many of Qt's widgets in action.

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 \link
assistant.book Qt Assistant\endlink: 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 \link
http://www.trolltech.com/developer/books.html Qt
books\endlink.

You should now be ready to ground-break: good luck, and have fun!

*/