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

Jump to: navigation, search
(Programming Tutorials/printing moved to Programming Tutorials/printing/KDE4: make the user aware && have place for the KDE 3 tutorial)
 
(Next)
 
(25 intermediate revisions by 9 users not shown)
Line 1: Line 1:
#REDIRECT [[Programming Tutorials/printing/KDE4]]
+
== 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'''
 +
<syntaxhighlight lang="cpp-qt" line>
 +
#include <qpainter.h>
 +
#include <qprinter.h>
 +
#include <kapplication.h>
 +
#include <kaboutdata.h>
 +
#include <kmessagebox.h>
 +
#include <kcmdlineargs.h>
 +
 
 +
/*
 +
This prints Hello World on your printer
 +
*/
 +
 
 +
int main(int argc, char *argv[])
 +
{
 +
    KAboutData aboutData(
 +
                        // The program name used internally.
 +
                        "tutorial-printing",
 +
                        // The message catalog name
 +
                        // If null, program name is used instead.
 +
                        0,
 +
                        // A displayable program name string.
 +
                        ki18n("Printing Tutorial"),
 +
                        // The program version string.
 +
                        "1.0",
 +
                        // Short description of what the app does.
 +
                        ki18n("Displays a KMessageBox popup"),
 +
                        // The license this code is released under
 +
                        KAboutData::License_GPL,
 +
                        // Copyright Statement
 +
                        ki18n("(c) 2006-2011"),
 +
                        // Optional text shown in the About box.
 +
                        // Can contain any information desired.
 +
                        ki18n("Some text..."),
 +
                        // The program homepage string.
 +
                        "http://example.com/",
 +
                        // The bug report email address
 +
                        "submit@bugs.kde.org");
 +
    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
 +
}
 +
</syntaxhighlight>
 +
 
 +
'''CMakeLists.txt'''
 +
<syntaxhighlight lang="text">
 +
find_package(KDE4 REQUIRED)
 +
include_directories( ${KDE4_INCLUDES} )
 +
kde4_add_executable(printhelloworld main.cpp)
 +
target_link_libraries(printhelloworld ${KDE4_KDEUI_LIBS} ${QT_QTGUI_LIBRARY})
 +
</syntaxhighlight>
 +
 
 +
=== Make and Run ===
 +
To build and run it, make sure you have your build environment set up correctly as described [[Getting_Started/Build|here]], then do:
 +
cmake .
 +
make
 +
./printhelloworld
 +
 
 +
== Next ==
 +
Next: [[Development/Tutorials/Printing_Print_Dialog|How to use the KDE print dialog in your programs]]
 +
 
 +
[[Category:KDE4]]
 +
[[Category:C++]]

Latest revision as of 18:11, 25 September 2011

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

Next

Next: How to use the KDE print dialog in your programs


This page was last modified on 25 September 2011, at 18:11. Content is available under Creative Commons License SA 3.0 as well as the GNU Free Documentation License 1.2 unless otherwise noted.