Qt Internals: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
(clean-up)
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
=Qt Internals=
[[Category:Developing_with_Qt]]
[[Category:Developing_Qt]]


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


==Qt/C++ Concepts==
== Qt/C++ Concepts ==


* [[Dpointer]] The rationale and theory behind usage of d-pointers in Qt.
* [[Dpointer]] - The rationale and theory behind usage of d-pointers in Qt.
* [[ValueBasedAndPointerBasedTypes]] How Qt defines it’s types
* [[ValueBasedAndPointerBasedTypes]] - How Qt defines it's types


==General Concepts==
== General Concepts ==


* [[BasicsOfStringEncoding]] The basics of string encoding.
* [[BasicsOfStringEncoding]] - The basics of string encoding.
* [[BasicsOfLocales]] The basics of locales
* [[BasicsOfLocales]] - The basics of locales
* [[BasicsOfPlugins]] The basics of plugins
* [[BasicsOfPlugins]] - The basics of plugins


==Qt Core concepts==
== Qt Core concepts ==


* [[QtStrings]] How QString works
* [[QtStrings]] - How QString works
* [[UsingQStringEffectively]] Various optimization tricks for effectively using QString
* [[UsingQStringEffectively]] - Various optimization tricks for effectively using QString
* [[QtInternationalization]] How Qt implements internationalization
* [[QtInternationalization]] - How Qt implements internationalization
* [[QtPlugins]] How Qt plugins are designed
* [[QtPlugins]] - How Qt plugins are designed
* [[QtIterators]] How Qt’s <span class="caps">STL</span> and java style iterators are implemented
* [[QtIterators]] - How Qt's STL and java style iterators are implemented
* [[QtResources]] How Qt resources (qrc) works
* [[QtResources]] - How Qt resources (qrc) works
* [[QtLocales]] How QLocale works
* [[QtLocales]] - How QLocale works
* [[QtTextCodec]] How codec are implemented in Qt
* [[QtTextCodec]] - How codec are implemented in Qt
* [[QtTimers]] How timers are implemented in various platforms
* [[QtTimers]] - How timers are implemented in various platforms
* [[QtVariant]] Innards of QVariant and Qt’s meta type system
* [[QtVariant]] - Innards of QVariant and Qt's meta type system
* [[QtThread]] – thread primitives and atomic operation
* [[QtEventDispatching]] - Event dispatching concepts
* [[QtEventDispatching]] Event dispatching concepts
* [[QtMetaObject]] – Qt’ meta object system
 
==Qt Gui concepts==
 
* [[QtGuiLayout]] – How QWidget’s QLayout works
* [[QtGraphicsLayout]] – How QGraphicsView’s QGraphicsLayout works
 
===Categories:===
 
* [[:Category:Developing Qt|Developing_Qt]]
* [[:Category:Developing with Qt|Developing_with_Qt]]

Latest revision as of 22:20, 23 March 2016


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.

Qt/C++ Concepts

General Concepts

Qt Core concepts