Development/Tutorials/Printing Hello World

< Development‎ | Tutorials
Revision as of 18:08, 25 September 2011 by Tstaerk (Talk | contribs) (To build and run it, make sure you have your build environment set up correctly as described)

Jump to: navigation, search

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 files

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 }

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, make sure you have your build environment set up correctly as described here, then do:

cmake .
make
./printhelloworld