Development/Tutorials/Printing Hello World

< Development‎ | Tutorials
Revision as of 19:05, 25 September 2011 by Tstaerk (Talk | contribs)

Jump to: navigation, search

Contents

The mission

Print Hello World on your printer. There will be no more dialog to confirm how many pages you want or the like.

The code

main.cpp

  1. #include <qpainter.h>
  2. #include <qprinter.h>
  3. #include <kapplication.h>
  4. #include <kaboutdata.h>
  5. #include <kmessagebox.h>
  6. #include <kcmdlineargs.h>
  7.  
  8. /*
  9. This prints Hello World on your printer
  10. */
  11.  
  12. int main(int argc, char *argv[])
  13. {
  14.     KAboutData aboutData(
  15.                          // The program name used internally.
  16.                          "tutorial-printing",
  17.                          // The message catalog name
  18.                          // If null, program name is used instead.
  19.                          0,
  20.                          // A displayable program name string.
  21.                          ki18n("Printing Tutorial"),
  22.                          // The program version string.
  23.                          "1.0",
  24.                          // Short description of what the app does.
  25.                          ki18n("Displays a KMessageBox popup"),
  26.                          // The license this code is released under
  27.                          KAboutData::License_GPL,
  28.                          // Copyright Statement
  29.                          ki18n("(c) 2006-2011"),
  30.                          // Optional text shown in the About box.
  31.                          // Can contain any information desired.
  32.                          ki18n("Some text..."),
  33.                          // The program homepage string.
  34.                          "http://example.com/",
  35.                          // The bug report email address
  36.                          "submit@bugs.kde.org");
  37.     KCmdLineArgs::init( argc, argv, &aboutData );
  38.     KApplication app;
  39.  
  40.     QPrinter printer;
  41.     printer.setFullPage(true);
  42.     QPainter painter;
  43.     painter.begin(&printer);
  44.     painter.drawText(100,100,"Hello World");
  45.     painter.end(); 
  46.     // this makes the print job start
  47. }

How to compile

CMakeLists.txt

find_package(KDE4 REQUIRED)
include_directories( ${KDE4_INCLUDES} )
kde4_add_executable(printhelloworld main.cpp)
target_link_libraries(printhelloworld ${KDE4_KDEUI_LIBS} ${QT_QTGUI_LIBRARY})

Make and Run

To build and run it, do:

cmake .
make
./printhelloworld

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