Aviso : parede de entrada de texto.
Como o sistema operacional GNU / Linux não é construído por um único projeto, ele precisa ser modular. Por exemplo, ele precisa combinar e orquestrar um driver de rede com o driver de entrada, GUI, navegador etc. Em termos gerais, uma distribuição GNU / Linux faz essa combinação (dos vários módulos).
O Ubuntu é uma distribuição GNU / Linux. Uma distribuição é essencialmente uma coleção de software e como eles são “colados”. Existem várias distribuições porque existem necessidades / gostos diferentes. Como analogia, considere o McDonalds. Existem vários tipos de hambúrgueres (distribuições), com diferentes números de pães, carnes, queijos, etc, como Big Mac e Chesseburguer. Cada pessoa geralmente prefere um tipo diferente de sandwitch (distribuição) com base em suas necessidades.
Seguindo em frente, o GTK + e o Qt são kits de ferramentas gráficas (pense neles como primitivos). Um 'módulo' de software gráfico que fala com o módulo de software "screen" do sistema operacional (ex: X11). Aplicativos gráficos, como Nautilus ou Dolphin, respectivamente gerenciadores de arquivos GNOME e KDE, são construídos usando esses primitivos (GTK + e Qt). Por exemplo, eles (os aplicativos) dizem: ei, me dê e desenhe uma janela. Ok, agora desenhe um menu, desenhe um botão, etc.
Além disso, podemos generalizar e dizer que o KDE é essencialmente uma coleção, em si, de softwares que são construídos sobre o framework Qt ('módulo' gráfico). Não apenas o KDE fornece aplicativos, como o Dolphin, K3B, Amarok, eles também fornecem bibliotecas / módulos de nível superior (geralmente construídos sobre o Qt ou outro 'módulo') para esses aplicativos. Por exemplo, bibliotecas que facilitam o manuseio e o trabalho com arquivos ou o envio / recebimento de dados.
Além disso, eles (KDE) também fornecem seu próprio ambiente gráfico, chamado Plasma. Plasma é uma aplicação (também no topo do Qt) que controla a GUI principal (barra de tarefas, área da bandeja, área de trabalho, etc).
Dito isto, se você quer ajudar o KDE com aplicações, tudo o que você precisa é o Qt toolkit (qt, pyQT, etc) e possivelmente as bibliotecas do KDE (kio, kparts, etc).
Se você quiser desenvolver bibliotecas do KDE, como uma biblioteca existente, precisará do Qt e preferirá uma coleção atualizada de software do KDE para testar os aplicativos que usam a biblioteca.
Finalmente, se você pretende desenvolver o próprio plasma ("a GUI principal"), precisará da mais recente coleção de software do Qt e do KDE.