# 2.2. Ce que fournit KDE

## 2.2.1. Les bibliothèques de KDE 1.1.x

Au moment d'écrire ce manuel, et du fait que KDevelop utilise KDE 1.1, je me réferre à l'état des bibliothèques de KDE dans cette version. Les principales bibliothèques de KDE que vous allez utiliser pour créer vos propres applications KDE sont& ;:

- la bibliothèque KDE-Core, contenant toutes les classes qui sont des éléments non visibles et fournit des fonctionnalités que votre application pourrait utiliser

- la bibliothèque KDE-UI, contenant des éléments d'interface utilisateur comme les barres de menus, les barres d'outils , etc

- la bibliothèque KFile, contenant les boîtes de dialogue de sélection de fichier.

En plus, pour des applications spécifiques, KDE fournit les bibliothèques suivantes :

- la bibliothèque KHTMLW, contenant un widget complet interprétant du HTML, qui est utilisé dans différents programmes comme KDEHelp , KFM ou KDevelop

- la bibliothèque KFM, permettant d'utiliser le gestionnaire de fichiers de KDE à l'intérieur de n'importe quelle application

- la bibliothèque KAB, le KAddressBook. Elle fournit un accès au carnet d'adresses pour des applications telles que les clients de messagerie

- la bibliothèque KSpell, contenant des widgets et des fonctionnalités pour intégrer l'utilisation d'Ispell, le vérificateur d'orthographe, dans des applications comme les éditeurs (utilisée notamment dans l'application KEdit).

Maintenant, nous allons regarder ce qui doit être fait pour convertir notre application Qt en une application KDE.

## 2.2.2. Exemple d'Application KDE

Dans la suite, vous allez voir qu'écrire une application KDE n'est vraiment pas plus difficile que d'écrire une application Qt . Pour accéder aux fonctionnalités de KDE, vous devez seulement utiliser quelques classes supplémentaires et c'est presque tout. Comme exemple, nous allons traiter la version modifiée de l'exemple de Qt utilisé précédemment :

     #include <kapp.h>
     #include <qpushbutton.h>

     int main( int argc, char **argv )
     {
     KApplication a( argc, argv );

     QPushButton hello( "Hello world!" );
     hello.resize( 100, 30 );

     a.setTopWidget( &&;hello );

     connect(&&;hello, SIGNAL( clicked() ), &&;a, SLOT( quit() ));

     hello.show();
     return a.exec();
     }

D'abord, vous voyez que nous avons changé `QApplication` en `KApplication`. Ensuite, nous avons du changer la méthode `setMainWidget()` précédemment utilisée en `setTopWidget` que `KApplication` utilise pour définir le widget principal. C'est fini ! Votre première application KDE est prête - vous devez seulement indiquer au compilateur les chemins menant aux fichiers "include" de KDE et à l'éditeur de liens de lier la bibliothèque KDE-Core avec -lkdecore.

Comme vous savez déjà ce que la fonction main() fait généralement et comment une application devient visible et permet les interactions avec l'utilisateur et entre objets, nous allons passer au chapitre suivant où nous réaliserons notre première application avec KDevelop - là, vous pourrez aussi tester tout ce qui a été mentionné précédemment et en voir les effets.

Nous vous conseillons aussi de compléter ce chapitre en approfondissant le manuel de référence de Qt , et plus spécialement les classes `QApplication`, `QWidget` et `QObject`, ainsi que la documentation de la classe `KApplication` de la bibliothèque KDE-Core. Le manuel de Référence des Bibliothèques de KDE donne aussi une description complète sur l'appel des constructeurs de `QApplication` et `KApplication`, y compris le traitement des arguments de la ligne de commande.