Development/Tutorials/Printing Hello World: Difference between revisions

From KDE TechBase
m (Text replace - "<code cppqt n>" to "<syntaxhighlight lang="cpp-qt" line>")
m (Text replace - "<code>" to "<syntaxhighlight lang="text">")
Line 37: Line 37:
=== CMakeLists.txt ===
=== CMakeLists.txt ===


<code>
<syntaxhighlight lang="text">
find_package(KDE4 REQUIRED)
find_package(KDE4 REQUIRED)
include_directories( ${KDE4_INCLUDES} )
include_directories( ${KDE4_INCLUDES} )

Revision as of 20:45, 29 June 2011

The mission

Print Hello World on your printer.

The code

<syntaxhighlight lang="cpp-qt" line>

  1. include <qpainter.h>
  2. include <qprinter.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;
   QPrinter printer;
   printer.setFullPage(true);
   QPainter painter;
   painter.begin(&printer);
   painter.drawText(100,100,"Hello World");
   painter.end(); 
   // this makes the print job start

}

How to compile

CMakeLists.txt

<syntaxhighlight lang="text"> find_package(KDE4 REQUIRED) include_directories( ${KDE4_INCLUDES} ) kde4_add_executable(printhelloworld printtest.cpp) target_link_libraries(printhelloworld ${${KDE4_KDECORE_LIBS} ${QT_QTGUI_LIBRARY})

Make and Run

Then do:

cmake .
make
./printhelloworld