Development/Tutorials/Programming Tutorial KDE 4: Difference between revisions

From KDE TechBase
No edit summary
No edit summary
Line 30: Line 30:
  -I/home/kde-devel/qt-unstable/include -I/home/kde-devel/kde/include  -L/home/kde-devel/kde/lib \
  -I/home/kde-devel/qt-unstable/include -I/home/kde-devel/kde/include  -L/home/kde-devel/kde/lib \
  -L/home/kde-devel/qt-unstable/lib -lkdeui -lkdecore -ldl       
  -L/home/kde-devel/qt-unstable/lib -lkdeui -lkdecore -ldl       
 
and then run it with  
 
and then run it with  
./hello
./hello

Revision as of 03:51, 30 August 2006

This is a tutorial to learn KDE programming by examples. It assumes you are working with KDE 4, not KDE 3 (see build_unstable for how to build it).


Start To learn KDE programming, first read this: http://developer.kde.org/~wheeler/cpp-pitfalls.html

Your first program shall greet the world with a friendly "hello world", what else ? For that, we will use a KMessageBox. To get more information about the KMessageBox-Class, type "kde: kmessagebox" in your konqueror and it will redirect you to http://developer.kde.org/documentation/library/cvs-api/kdelibs-apidocs/kdeui/html/classKMessageBox.html

#include <QString>
#include <kapplication.h>
#include <kaboutdata.h>
#include <kmessagebox.h>
#include <kcmdlineargs.h> 

int main (int argc, char *argv[])
{
  KAboutData aboutData( "test", "test",
      "1.0", "test", KAboutData::License_GPL,
      "(c) 2006" );
  KCmdLineArgs::init( argc, argv, &aboutData );
  KApplication khello;
  KGuiItem kgi(QString("Hello"),QString(),QString("this is a tooltip"),QString("this is whatsthis"));
  KMessageBox::questionYesNo(0,"text","caption",kgi);
}

If you set up your environment as in KDE3To4, you can compile this code with

gcc hello.cpp -o hello -I/home/kde-devel/qt-unstable/include/Qt  -I/home/kde-devel/qt-unstable/include/Qt-Core \
-I/home/kde-devel/qt-unstable/include -I/home/kde-devel/kde/include  -L/home/kde-devel/kde/lib \
-L/home/kde-devel/qt-unstable/lib -lkdeui -lkdecore -ldl      

and then run it with ./hello