Development/Tutorials/Printing Hello World: Difference between revisions
< Development | Tutorials
Midnighter (talk | contribs) No edit summary |
Midnighter (talk | contribs) (Undo revision 38831 by Midnighter (Talk)) |
||
Line 1: | Line 1: | ||
{{note|This tutorial seems not to be up to date with current KDE4 development.}} | {{note|This tutorial seems not to be up to date with current KDE4 development.}} | ||
= | =The mission= | ||
Print '''Hello World''' on your printer. | |||
= | =The KDE version= | ||
This code will work for KDE 3 as for KDE 4. | |||
= | =The code= | ||
<code cppqt n> | <code cppqt n> | ||
#include <kprinter.h> | #include <kprinter.h> |
Revision as of 21:55, 21 February 2009
Note
This tutorial seems not to be up to date with current KDE4 development.
The mission
Print Hello World on your printer.
The KDE version
This code will work for KDE 3 as for KDE 4.
The code
- include <kprinter.h>
- include <qpainter.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( "test", "test", "1.0", "test",
KAboutData::License_GPL, "(c) 2006" );
KCmdLineArgs::init( argc, argv, &aboutData );
KApplication app;
KPrinter job;
job.setFullPage( true );
if ( job.setup() )
{
QPainter painter;
painter.begin( &job );
painter.drawText(100,100,"Hello World");
painter.end();
// this makes the print job start
}
}
Explanation
You need a KDE instance to print, because this instance stores your configuration, including your printer configuration. You create one by instanciating the KApplication class.
How to compile
With KDE 4 and CMake
CMakeLists.txt
find_package(KDE4 REQUIRED)
include_directories( ${KDE4_INCLUDES} )
kde4_add_executable(printhelloworld printtest.cpp)
target_link_libraries(printhelloworld ${KDE4_KDEPRINT_LIBS})
Make and Run
Then do:
cmake . make ./printhelloworld
With KDE 3
Quite easy:
gcc printtest.cpp -o print -I/usr/lib/qt3/include \ -I/opt/kde3/include -L/opt/kde3/lib \ -L/usr/lib/qt3/lib -lqt-mt -lkdeprint
See also
- Point your konqueror to kde:kprinter