Development/Tutorials/Printing Hello World (ru)

< Development‎ | Tutorials
Revision as of 22:42, 21 February 2009 by Midnighter (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
This tutorial seems not to be up to date with current KDE4 development.


The mission

Print Hello World on your printer.

The KDE version

This code will work for KDE 3 as for KDE 4.

The code

  1. include <kprinter.h>
  2. include <qpainter.h>
  3. include <kapplication.h>
  4. include <kaboutdata.h>
  5. include <kmessagebox.h>
  6. include <kcmdlineargs.h>

/* This prints Hello World on your printer

  • /

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

 KAboutData aboutData( "test", "test", "1.0", "test",
     KAboutData::License_GPL, "(c) 2006" );
 KCmdLineArgs::init( argc, argv, &aboutData );
 KApplication app;
 KPrinter job;
 job.setFullPage( true );
 if ( job.setup() )
   QPainter painter;
   painter.begin( &job );
   painter.drawText(100,100,"Hello World");
   // this makes the print job start



You need a KDE instance to print, because this instance stores your configuration, including your printer configuration. You create one by instanciating the KApplication class.

How to compile

With KDE 4 and CMake


find_package(KDE4 REQUIRED) include_directories( ${KDE4_INCLUDES} ) kde4_add_executable(printhelloworld printtest.cpp) target_link_libraries(printhelloworld ${KDE4_KDEPRINT_LIBS})

Make and Run

Then do:

cmake .

With KDE 3

Quite easy:

gcc printtest.cpp -o print -I/usr/lib/qt3/include \
-I/opt/kde3/include -L/opt/kde3/lib \
-L/usr/lib/qt3/lib  -lqt-mt -lkdeprint

See also

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal