Development/Tutorials/Printing Hello World: Difference between revisions
< Development | Tutorials
(→With KDE 4: Add CMakeLists.txt for KDE4 (now less complicated :) )) |
(Mark for updating) |
||
(18 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
{{Review|Port to KF5}} | |||
=The | == The mission == | ||
=The | 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 <qpainter.h> | ||
#include <qprinter.h> | |||
#include <kapplication.h> | #include <kapplication.h> | ||
#include <kaboutdata.h> | #include <kaboutdata.h> | ||
Line 20: | Line 21: | ||
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 | |||
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 main.cpp) | kde4_add_executable(printhelloworld main.cpp) | ||
target_link_libraries(printhelloworld ${ | 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 . | 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++]] |
Latest revision as of 12:38, 31 May 2019
Warning
This page needs a review and probably holds information that needs to be fixed.
Parts to be reviewed:
Port to KF5The 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
#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
"[email protected]");
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})
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