Development/Tutorials/Printing Hello World (ru): Difference between revisions

    From KDE TechBase
    m (Text replace - "<code cppqt n>" to "<syntaxhighlight lang="cpp-qt" line>")
    No edit summary
     
    (2 intermediate revisions by one other user not shown)
    Line 1: Line 1:
    {{Template:I18n/Language Navigation Bar|Development/Tutorials/Printing_Hello_World}}
     


    {{note|This tutorial seems not to be up to date with current KDE4 development.}}
    {{note|This tutorial seems not to be up to date with current KDE4 development.}}
    Line 40: Line 40:
       }
       }
    }
    }
    </code>
    </syntaxhighlight>


    =Разъяснение=
    =Разъяснение=
    Line 48: Line 48:
    ==С KDE 4 и CMake==
    ==С KDE 4 и CMake==
    ===CMakeLists.txt===
    ===CMakeLists.txt===
    <code>
    <syntaxhighlight lang="text">
    find_package(KDE4 REQUIRED)
    find_package(KDE4 REQUIRED)
    include_directories( ${KDE4_INCLUDES} )
    include_directories( ${KDE4_INCLUDES} )
    kde4_add_executable(printhelloworld printtest.cpp)
    kde4_add_executable(printhelloworld printtest.cpp)
    target_link_libraries(printhelloworld ${KDE4_KDEPRINT_LIBS})
    target_link_libraries(printhelloworld ${KDE4_KDEPRINT_LIBS})
    </code>
    </syntaxhighlight>
    ===Выполнение сборки и запуск (Make and Run)===
    ===Выполнение сборки и запуск (Make and Run)===
    Затем делаем:
    Затем делаем:

    Latest revision as of 12:03, 18 July 2012


    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
    

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