Difference between revisions of "Development/Tutorials/KDE2/KHello/Tutorial 1"

< Development‎ | Tutorials‎ | KDE2‎ | KHello
Jump to: navigation, search
m (are-->is)
m (Text replace - "<code cppqt>" to "<syntaxhighlight lang="cpp-qt">")
Line 22: Line 22:
 
== Explaining the code==
 
== Explaining the code==
 
Here is the commands explained:
 
Here is the commands explained:
<code cppqt>
+
<syntaxhighlight lang="cpp-qt">
 
#include <kapp.h>
 
#include <kapp.h>
 
#include <kmainwindow.h>
 
#include <kmainwindow.h>
 
</code>
 
</code>
 
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.
 
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.
<code cppqt>
+
<syntaxhighlight lang="cpp-qt">
 
KApplication a(argc, argv);
 
KApplication a(argc, argv);
 
KMainWindow *w = new KMainWindow();
 
KMainWindow *w = new KMainWindow();
 
</code>
 
</code>
 
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.
 
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.
<code cppqt>
+
<syntaxhighlight lang="cpp-qt">
 
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 is 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>
+
<syntaxhighlight lang="cpp-qt">
 
a.setMainWidget( w );
 
a.setMainWidget( w );
 
</code>
 
</code>
 
Our program needs to know where to find the main window.
 
Our program needs to know where to find the main window.
<code cppqt>
+
<syntaxhighlight lang="cpp-qt">
 
w->show();
 
w->show();
 
</code>
 
</code>
 
Make the main window visible.
 
Make the main window visible.
<code cppqt>
+
<syntaxhighlight lang="cpp-qt">
 
return a.exec();
 
return a.exec();
 
</code>
 
</code>

Revision as of 20:28, 29 June 2011

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: <syntaxhighlight lang="cpp-qt">

  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. <syntaxhighlight lang="cpp-qt"> 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. <syntaxhighlight lang="cpp-qt"> 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). <syntaxhighlight lang="cpp-qt"> a.setMainWidget( w ); Our program needs to know where to find the main window. <syntaxhighlight lang="cpp-qt"> w->show(); Make the main window visible. <syntaxhighlight lang="cpp-qt"> 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

Content is available under Creative Commons License SA 4.0 unless otherwise noted.