Development/Tutorials/KDE2/KHello/Tutorial 1: Difference between revisions

From KDE TechBase
< Development‎ | Tutorials‎ | KDE2‎ | KHello
m (Tutorial 1 moved to Development/Tutorials/KDE2/KHello/Tutorial 1: Whoops, created in wrong place :S)
m (are-->is)
Line 35: Line 35:
w->setGeometry(100,100,200,100);
w->setGeometry(100,100,200,100);
</code>
</code>
Move and resize the window. It is moved to coordinates (100, 100), and the size are changed to 200x100 (width x height).
Move and resize the window. It is moved to coordinates (100, 100), and the size is changed to 200x100 (width x height).
<code cppqt>
<code cppqt>
a.setMainWidget( w );
a.setMainWidget( w );

Revision as of 03:27, 4 April 2008

Description

This is, as far as I know, the simplest possible KDE program.

Source code

The source code is very simple: /************* khello.cc *******************/

  1. include <kapp.h>
  2. include <kmainwindow.h>

int main( int argc, char **argv ) {

 KApplication a( argc, argv, "khello" );
 KMainWindow *w = new KMainWindow();
 w->setGeometry(100,100,200,100);
 a.setMainWidget( w );
 w->show();
 return a.exec();

} /************* end of file *****************/

Explaining the code

Here is the commands explained:

  1. include <kapp.h>
  2. include <kmainwindow.h>

The kapp.h file contain some basic code needed by all programs, and the kmainwindow.h file contains the class which should be used for all main windows in KDE programs. KApplication a(argc, argv); KMainWindow *w = new KMainWindow(); Create a KApplication object and a KMainWindow object. The KApplication object will contain all the basic code our program needs, and the KMainWindow object will be our main window. w->setGeometry(100,100,200,100); Move and resize the window. It is moved to coordinates (100, 100), and the size is changed to 200x100 (width x height). a.setMainWidget( w ); Our program needs to know where to find the main window. w->show(); Make the main window visible. return a.exec(); Execute the program.

Compiling

[on linux where KDEDIR and QTDIR contain the paths to where KDE and Qt are installed respectively]

[FreeBSD 5.x users may omit the -ldl]

g++ -c -I$KDEDIR/include -I$QTDIR/include -fno-rtti khello.cc
g++ -L$KDEDIR/lib -L$QTDIR/lib -lkdeui -lkdecore -lqt -ldl -o khello khello.o