KDE TechBase is a Wiki - You can help! Please contribute! Questions?
Please ask development related questions in the KDE Community Forum.
Please ask development related questions in the KDE Community Forum.
Development/Tutorials/Printing Hello World
< Development | Tutorials
Contents |
[edit] The mission
Print Hello World on your printer.
[edit] The KDE version
This code will work for KDE 3 as for KDE 4.
[edit] 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 } }
[edit] 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.
[edit] How to compile
[edit] With KDE 4 and CMake
[edit] CMakeLists.txt
find_package(KDE4 REQUIRED)
include_directories( ${KDE4_INCLUDES} )
kde4_add_executable(printhelloworld printtest.cpp)
target_link_libraries(printhelloworld ${KDE4_KDEPRINT_LIBS})
[edit] Make and Run
Then do:
cmake . make ./printhelloworld
[edit] 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
[edit] See also
- Point your konqueror to kde:kprinter
