Qt Internals: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 1: Line 1:
=Qt Internals=
[toc align_right=&quot;yes&amp;quot; depth=&quot;3&amp;quot;]<br />[[Category:Developing_with_Qt]]<br />[[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.
= Qt Internals =
 
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.
* [[ValueBasedAndPointerBasedTypes]] – How Qt defines it’s types
 
==General Concepts==


* [[BasicsOfStringEncoding]] The basics of string encoding.
* [[Dpointer]] - The rationale and theory behind usage of d-pointers in Qt.
* [[BasicsOfLocales]] – The basics of locales
* [[ValueBasedAndPointerBasedTypes]] - How Qt defines it's types
* [[BasicsOfPlugins]] – The basics of plugins


==Qt Core concepts==
== General Concepts ==


* [[QtStrings]] – How QString works
* [[BasicsOfStringEncoding]] - The basics of string encoding.
* [[UsingQStringEffectively]] – Various optimization tricks for effectively using QString
* [[BasicsOfLocales]] - The basics of locales
* [[QtInternationalization]] – How Qt implements internationalization
* [[BasicsOfPlugins]] - The basics of plugins
* [[QtPlugins]] – How Qt plugins are designed
* [[QtIterators]] – How Qt’s <span class="caps">STL</span> 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
* [[QtThread]] – thread primitives and atomic operation
* [[QtEventDispatching]] – Event dispatching concepts
* [[QtMetaObject]] – Qt’ meta object system


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


* [[QtGuiLayout]] How QWidget’s QLayout works
* [[QtStrings]] - How QString works
* [[QtGraphicsLayout]] How QGraphicsView’s QGraphicsLayout 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
* [[QtThread]] - thread primitives and atomic operation
* [[QtEventDispatching]] - Event dispatching concepts
* [[QtMetaObject]] - Qt' meta object system


===Categories:===
== Qt Gui concepts ==


* [[:Category:Developing Qt|Developing_Qt]]
* [[QtGuiLayout]] - How QWidget's QLayout works
* [[:Category:Developing with Qt|Developing_with_Qt]]

Revision as of 06:30, 24 February 2015

[toc align_right="yes&quot; depth="3&quot;]

Qt Internals

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

Qt Gui concepts