Development/Tutorials/Printing Hello World

    From KDE TechBase
    Revision as of 18:08, 25 September 2011 by Tstaerk (talk | contribs) (To build and run it, make sure you have your build environment set up correctly as described)

    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