summaryrefslogtreecommitdiffstats
path: root/doc/src/getting-started/how-to-learn-qt.qdoc
blob: c67e34f1d650a8e103e13a8b1f0a4e4ae6da63c5 (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
117
118
119
120
121
122
123
124
125
126
127
128
/****************************************************************************
**
** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Digia.  For licensing terms and
** conditions see http://qt.digia.com/licensing.  For further information
** use the contact form at http://qt.digia.com/contact-us.
**
** 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, Digia gives you certain additional
** rights.  These rights are described in the Digia Qt LGPL Exception
** version 1.1, 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.
**
**
** $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

    \section1 Getting Started

    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.

    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}.

    \beginfloatleft
    \inlineimage qtdemo-small.png
    \endfloat

    \section1 Getting an Overview

    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.

    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.
    \clearfloat

    \section1 Books and Learning Materials

    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.
    We recommend 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}.)

    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{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}.

    \section1 Further Reading

    Qt has an active and helpful user community who communicate using
    the \l{Qt Mailing Lists}{qt-interest} mailing list, the \l{Qt Centre}
    Web site, and a number of other community Web sites and Weblogs.
    In addition, many Qt developers are active members of the
    \l{KDE}{KDE community}.

    Good luck, and have fun!
*/