

Основные библиотеки KDE, которые вам обязательно понадобятся при написании KDE-программ:
kdecore - все классы с не графическими элементами, предназначенными для обеспечения функциональности приложений
kdeui - элементы пользовательского интерфейса, например меню, панели инструментов и т.д.
kfile - диалоги выбора файлов
Также возможно вам понадобятся библиотеки:
kdefx - растровые изображения, эффекты расширения QStyle - KStyle
khtml - компонент показа HTML
kjs - поддержка Javascript
kio - низкоуровневый доступ к сетевым файлам
kparts - поддержка интерфейса компонентов (повторно используемых, внедряемых приложений)
Теперь давайте попробуем сделать из нашей первой программы на Qt KDE-программу.
В дальнейшем вы увидите, что написание программ под KDE ни капельки не труднее написания приложений на Qt. Для использования возможностей KDE, нужно использовать немного другие классы. В этом примере мы обсудим изменения по сравнению с версией на Qt:
#include <kapplication.h>
#include <qpushbutton.h>
int main( int argc, char **argv )
{
KApplication a( argc, argv );
QPushButton hello( "Hello world!", 0 );
hello.resize( 100, 30 );
a.setTopWidget( &hello );
QObject::connect(&hello, SIGNAL( clicked() ), &a, SLOT( quit() ));
hello.show();
return a.exec();
}
Вы видите, что мы поменяли класс QApplication на KApplication. Затем мы использовали метод setTopWidget вместо setMainWidget() для указания главного элемента управления для KApplication. Всё! Ваше первое приложение KDE готово - осталось только указать путь к заголовочным файлам KDE и скомпоновать библиотеку kdecore ключом компоновщика -lkdecore.
Если вы не собираетесь создавать такие простые программы, вам понадобится более удобная среда написания ПО. В следующей главе речь пойдёт о KDevelop.
Итак, к этому времени, вы уже прошлись по страницам справочной документации Qt, в т.ч. по классам QApplication, QWidget и QObject, а также по документации библиотеки kdecore, классу KApplication. KDE Library Reference handbook содержит полное описание использования конструкторов QApplication и KApplication, включая также обработку ключей командной строки.