Development/Tutorials/Printing Hello World (ru)

    From KDE TechBase
    Revision as of 12:03, 18 July 2012 by AnneW (talk | contribs)
    (diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


    Note
    This tutorial seems not to be up to date with current KDE4 development.


    Цель

    Печать Hello World на принтере.

    Версия KDE

    Этот код будет работать как для KDE 3 так и для KDE 4.

    Код

    #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
      }
    }
    

    Разъяснение

    Пример печати в KDE необходим, как пример собственной конфигурации, включающей конфигурацию принтера. Создадим его как пример класса KApplication.

    Как компилировать

    С KDE 4 и 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)

    Затем делаем:

    cmake .
    make
    ./printhelloworld
    

    С KDE 3

    Лёгкий способ:

    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
    

    Смотрите также