Neverendingo (Talk | contribs) m (Text replace - "</code>" to "</syntaxhighlight>") |
(→Next) |
||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== The mission == | == The mission == | ||
− | Print '''Hello World''' on your printer. | + | Print '''Hello World''' on your printer. There will be no more dialog to confirm how many pages you want or the like. |
− | == The | + | == The files == |
+ | '''main.cpp''' | ||
<syntaxhighlight lang="cpp-qt" line> | <syntaxhighlight lang="cpp-qt" line> | ||
#include <qpainter.h> | #include <qpainter.h> | ||
Line 18: | Line 19: | ||
int main(int argc, char *argv[]) | int main(int argc, char *argv[]) | ||
{ | { | ||
− | KAboutData aboutData( " | + | 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 ); | KCmdLineArgs::init( argc, argv, &aboutData ); | ||
KApplication app; | KApplication app; | ||
Line 33: | Line 55: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | '''CMakeLists.txt''' | |
− | + | ||
− | + | ||
− | + | ||
<syntaxhighlight lang="text"> | <syntaxhighlight lang="text"> | ||
find_package(KDE4 REQUIRED) | find_package(KDE4 REQUIRED) | ||
include_directories( ${KDE4_INCLUDES} ) | include_directories( ${KDE4_INCLUDES} ) | ||
− | kde4_add_executable(printhelloworld | + | kde4_add_executable(printhelloworld main.cpp) |
− | target_link_libraries(printhelloworld ${ | + | target_link_libraries(printhelloworld ${KDE4_KDEUI_LIBS} ${QT_QTGUI_LIBRARY}) |
</syntaxhighlight> | </syntaxhighlight> | ||
=== Make and Run === | === 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 . | cmake . | ||
make | make | ||
./printhelloworld | ./printhelloworld | ||
+ | |||
+ | == Next == | ||
+ | Next: [[Development/Tutorials/Printing_Print_Dialog|How to use the KDE print dialog in your programs]] | ||
[[Category:KDE4]] | [[Category:KDE4]] | ||
[[Category:C++]] | [[Category:C++]] |
Print Hello World on your printer. There will be no more dialog to confirm how many pages you want or the like.
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})
To build and run it, make sure you have your build environment set up correctly as described here, then do:
cmake . make ./printhelloworld