m (→The code: Consistent indentation) |
(→Next) |
||
| (15 intermediate revisions by 6 users not shown) | |||
| Line 1: | Line 1: | ||
| − | =The mission= | + | == 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 | + | == The files == |
| − | + | '''main.cpp''' | |
| − | + | <syntaxhighlight lang="cpp-qt" line> | |
#include <qpainter.h> | #include <qpainter.h> | ||
| + | #include <qprinter.h> | ||
#include <kapplication.h> | #include <kapplication.h> | ||
#include <kaboutdata.h> | #include <kaboutdata.h> | ||
| Line 20: | Line 19: | ||
int main(int argc, char *argv[]) | 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; | QPainter painter; | ||
| − | painter.begin( & | + | painter.begin(&printer); |
painter.drawText(100,100,"Hello World"); | painter.drawText(100,100,"Hello World"); | ||
painter.end(); | painter.end(); | ||
// this makes the print job start | // this makes the print job start | ||
| − | |||
} | } | ||
| − | </ | + | </syntaxhighlight> |
| − | + | '''CMakeLists.txt''' | |
| − | + | <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> |
| − | ===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:C++]] | [[Category:C++]] | ||
Contents |
Print Hello World on your printer. There will be no more dialog to confirm how many pages you want or the like.
main.cpp
#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 underKAboutData::License_GPL,
// Copyright Statementki18n("(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}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