Development/Tutorials/Printing Hello World: Difference between revisions
< Development | Tutorials
m (Categorise) |
(→With KDE 4: Add CMakeLists.txt for KDE4 (now less complicated :) )) |
||
Line 50: | Line 50: | ||
-L/home/kde-devel/kde/lib -L/home/kde-devel/qt-unstable/lib -lkdeui \ | -L/home/kde-devel/kde/lib -L/home/kde-devel/qt-unstable/lib -lkdeui \ | ||
-lkdecore -ldl -lkdeprint | -lkdecore -ldl -lkdeprint | ||
===CMake=== | |||
====CMakeLists.txt==== | |||
<code> | |||
project (printhelloworld) | |||
find_package(KDE4 REQUIRED) | |||
include_directories( ${KDE4_INCLUDES} ) | |||
kde4_add_executable(printhelloworld main.cpp) | |||
target_link_libraries(printhelloworld ${KDE4_KDEPRINT_LIBS}) | |||
</code> | |||
====Make and Run==== | |||
Then do: | |||
cmake . | |||
make | |||
./printhelloworld | |||
==With KDE 3== | ==With KDE 3== |
Revision as of 14:47, 5 January 2007
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 khello;
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
Quite complicated:
gcc print.cpp -o print -I/home/kde-devel/qt-unstable/include/Qt \ -I/home/kde-devel/qt-unstable/include/Qt-Core \ -I/home/kde-devel/qt-unstable/include -I/home/kde-devel/kde/include \ -L/home/kde-devel/kde/lib -L/home/kde-devel/qt-unstable/lib -lkdeui \ -lkdecore -ldl -lkdeprint
CMake
CMakeLists.txt
project (printhelloworld)
find_package(KDE4 REQUIRED)
include_directories( ${KDE4_INCLUDES} )
kde4_add_executable(printhelloworld main.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
Tip
Note: This page deals with content related to KDE 3. If you are developing for KDE 4, this information might not be valid anymore.
Tip
Note: This page is about KDE 4. It isn't applicable for KDE 3 development.