Development/Tutorials/Printing Hello World: Difference between revisions
< Development | Tutorials
(Programming Tutorials/printing moved to Programming Tutorials/printing/KDE4: make the user aware && have place for the KDE 3 tutorial) |
(Mark for updating) |
||
(26 intermediate revisions by 9 users not shown) | |||
Line 1: | Line 1: | ||
# | {{Review|Port to KF5}} | ||
== 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 | |||
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 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