Difference between revisions of "Development/Tutorials/Printing Hello World"

Jump to: navigation, search
Line 1: Line 1:
 
{{note|This tutorial seems not to be up to date with current KDE4 development.}}
 
{{note|This tutorial seems not to be up to date with current KDE4 development.}}
  
=The mission=
+
=Цель=
Print '''Hello World''' on your printer.
+
Печать '''Hello World''' на принтере.
  
=The KDE version=
+
=Версия KDE=
This code will work for KDE 3 as for KDE 4.
+
Этот код будет работать как для KDE 3 так и для KDE 4.
  
=The code=
+
=Код=
 
<code cppqt n>
 
<code cppqt n>
 
#include <kprinter.h>
 
#include <kprinter.h>

Revision as of 22:53, 21 February 2009

noframe
 
Note
This tutorial seems not to be up to date with current KDE4 development.

Contents

Цель

Печать Hello World на принтере.

Версия KDE

Этот код будет работать как для KDE 3 так и для KDE 4.

Код

  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");
   painter.end(); 
   // this makes the print job start
 }

}

Explanation

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

CMakeLists.txt

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 .
make
./printhelloworld

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