Development/Tutorials/Printing Hello World

    From KDE TechBase
    Warning
    This page needs a review and probably holds information that needs to be fixed.

    Parts to be reviewed:

    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

    #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
    

    Next

    Next: How to use the KDE print dialog in your programs