summaryrefslogtreecommitdiffstats
path: root/doc/src/getting-started/how-to-learn-qt.qdoc
blob: 8ca17354682b5e175d24f9cdfb3a3fe39191b8a9 (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
/****************************************************************************
**
** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
** Commercial Usage
** Licensees holding valid Qt Commercial licenses may use this file in
** accordance with the Qt Commercial License Agreement provided with the
** Software or, alternatively, in accordance with the terms contained in a
** written agreement between you and Nokia.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of this
** file.
**
** If you have questions regarding the use of this file, please contact
** Nokia at qt-info@nokia.com.
** $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: The Qt \l{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!
*/