# 2.2. Что предлагает KDE

## 2.2.1. Библиотеки KDE 1.1.x

На момент написания книги KDevelop использует KDE 1.1, поэтому мы здесь рассмотрим библиотеки KDE этого релиза. Основные библиотеки KDE , которые вы будете использовать при разработке приложений KDE , следующие:

- библиотека KDE-Core содержит все классы, не являющиеся видимыми элементами, и обеспечивает реализацию тех возможностей, которые ваше приложение может использовать;

- библиотека KDE-UI содержит элементы пользовательского интерфейса, такие как панель меню, панели инструментов и т.п.;

- библиотека KFile содержит диалоговое окно выбора файлов.

Кроме того, для специальных целей KDE предоставляет следующие библиотеки:

- библиотека KHTMLW содержит элемент, который полностью интерпретирует HTML-файлы и используется в таких программах, как KDEHelp , KFM, KDevelop;

- библиотека KFM позволяет использовать KDE менеджер файлов из вашего приложения;

- библиотека KAb, KAddressBook. Реализует доступ к адресной книге, например, для приложений, работающих с email;

- библиотека KSpell предоставляет элементы для интеграции Ispell, программы проверки правописания, в приложения типа редакторов; используется в KEdit.

Теперь давайте посмотрим, что необходимо сделать, чтобы превратить наше Qt приложение в KDE приложение.

## 2.2.2. Пример приложения KDE

Сейчас вы увидите, что создание KDE приложения не на много сложнее, чем приложения для Qt . Для использования возможностей KDE вы просто должны включить в программу другие классы, и все будет сделано. Например, рассмотрим измененную версию примера программы Qt , приведенного выше:

     #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();
     }

Как видно, в первую очередь мы изменили `QApplication` на `KApplication`. Далее, мы использовали вместо метода `setMainWidget()` метод `setTopWidget`, который вызывает `KApplication` для установки главного элемента (main widget). Вот и все! Ваше первое KDE приложение готово - вы только должны сообщить компилятору путь к файлам KDE, упомянутым в командах "&#;include", и линкеру - линковать с ключом -lkdecore.

Теперь, когда вы знаете, что в общем делает функция main(), как приложения становятся видимыми и как организовать взаимодействие пользователя и объектов программы, мы переходим к следующей главе, где мы сделаем наше первое приложение с помощью KDevelop - там вы сможете также протестировать все вышеупомянутое и посмотреть результат.

Сейчас вам будет полезно посмотреть дополнительно справочное руководство по Qt , особенно в части `QApplication`, `QWidget` и `QObject`, документацию по библиотеке KDE-Core для класса `KApplication`. Справочник "KDE Library Reference" содержит полное описание вызова конструкторов `QApplication` и `KApplication`, включая обработку аргументов командной строки.