Development/Tutorials/Printing Hello World: Difference between revisions
< Development | Tutorials
Neverendingo (talk | contribs) m (Text replace - "<code>" to "<syntaxhighlight lang="text">") |
(Mark for updating) |
||
(8 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{Review|Port to KF5}} | |||
== 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 21: | ||
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 | |||
KCmdLineArgs::init( argc, argv, &aboutData ); | KCmdLineArgs::init( argc, argv, &aboutData ); | ||
KApplication app; | KApplication app; | ||
Line 31: | Line 55: | ||
// this makes the print job start | // this makes the print job start | ||
} | } | ||
</ | </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> | ||
=== 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++]] |
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