Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions |

# How to Learn Qt

We assume that you already know C++!

The best way to learn Qt is to read the official Qt book, C++ GUI Programming with Qt 3 (ISBN 0-13-124072-2). 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.

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 Qt Whitepaper 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. Tutorial #1 is designed to get you into Qt programming, with the emphasis on working code rather than being a tour of features. Tutorial #2 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 Qt Designer manual. After this, it is still worthwhile trying the pure C++ Tutorials (Tutorial #1 and Tutorial #2) 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 Qt Object Model and Signals and Slots.

At this point we recommend looking at the overviews and reading those that are relevant to your projects. You may also find it useful to browse the source code of the 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 `demo` application (in `$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 API Reference. 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 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 Qt books.

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