Neverendingo (Talk | contribs) m (Text replace - "</code>" to "</syntaxhighlight>") |
(→Next) |
||
| (6 intermediate revisions by one 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++]] | ||
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