summaryrefslogtreecommitdiff
path: root/doc/src/how-to-learn-qt.qdoc
blob: ee235093cb3a869835bb0ab1ac56dbff498fdc4c (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
/****************************************************************************
**
** 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
    \brief Links to guides and resources for learning Qt.
    \title How to Learn Qt
    \ingroup howto

    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
    \row \o \inlineimage qtdemo-small.png
    \o \bold{Getting an Overview}

    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!
*/