A knowledge of some of the Qt framework is necessary to understand the KDE framework and design.
Start by exploring the 'Core features' section in the documentation.
http://doc.trolltech.com/4.4/ and the associated Examples.
It is important to note that some of the features of Qt are not used in KDE applications.
- The Qt resource system is not used.
- CMake is used instead of QMake.
- KDE uses the gettext system for translations instead of the Qt tr() system.
- Many Qt classes have KDE subclasses or equivalents which should be used instead. (KFileDialog instead of QFileDialog, KTextEdit instead of QTextEdit). The KDE classes provide greater system integration.
- The KIO system should be used instead of QHttp or QNetworkAccessManager (see also Policies/API_to_Avoid)