The articles below explain how various Qt features are designed and implemented. The Qt documentation usually explains what features are supported and how to use the features. The Qt documentation is usually quiet on how the features are implemented. This, of course, is the point of a library like Qt. It is a black box where the developer shouldn't need to understand how features are implemented. But by going the extra mile and understanding how features are implemented, one can troubleshoot problems more quickly, come up with better designs and most importantly feel in complete control over what's happening in one's code.
The focus of these articles is to help the developer understand how Qt implements various features and why it implements them that way. The goal is not to rehash Qt documentation or write tutorials. As a result, the reader is expected to have some working knowledge with the topics below before reading the corresponding articles.
- Dpointer - The rationale and theory behind usage of d-pointers in Qt.
- ValueBasedAndPointerBasedTypes - How Qt defines it's types
- BasicsOfStringEncoding - The basics of string encoding.
- BasicsOfLocales - The basics of locales
- BasicsOfPlugins - The basics of plugins
Qt Core concepts
- QtStrings - How QString works
- UsingQStringEffectively - Various optimization tricks for effectively using QString
- QtInternationalization - How Qt implements internationalization
- QtPlugins - How Qt plugins are designed
- QtIterators - How Qt's STL and java style iterators are implemented
- QtResources - How Qt resources (qrc) works
- QtLocales - How QLocale works
- QtTextCodec - How codec are implemented in Qt
- QtTimers - How timers are implemented in various platforms
- QtVariant - Innards of QVariant and Qt's meta type system
- QtEventDispatching - Event dispatching concepts