На этом шаге рассмотрим класс QSvgWidget.
SVG — это формат масштабируемой векторной графики (Scalable Vector Graphics). Он был рекомендован в 2001 году Консорциумом Всемирной паутины W3C (World Wide Web Consortium). Этот формат описывает двумерную векторную графику и анимацию в формате XML, следовательно, содержимое файлов можно изменять в обычном текстовом редакторе. На настоящий момент этот формат получил большое распространение и поддерживается почти всеми Web-браузерами.
Qt для поддержки этого формата предоставляет отдельный модуль QtSvg. А это значит, что в проектных файлах (файлах с расширением pro) нужно не забывать прикреплять этот модуль, для чего достаточно просто добавить строку QT += svg.
Класс для показа SVG-файлов называется QSvgWidget. Загрузить SVG-файл можно либо передав его в конструктор QSvgWidget, либо воспользовавшись его методом load(). Метод load() примечателен тем, что в него можно передавать не только путь к файлу, но и объекты класса QByteArray.
Само изображение создается вспомогательным классом QSvgRenderer. Класс QSvgRenderer можно также использовать для помещения созданных им изображений в объекты QImage и QGlWidget.
Показанный на рис. 1 пример иллюстрирует использование класса QSvgWidget.

Рис.1. Пример векторной анимации
#include <QtGui>
#include <QtSvg>
int main(int argc, char **argv)
{
QApplication app(argc, argv);
app.setApplicationDisplayName("Векторная анимация");
QSvgWidget svg(":/motion.svg"); //создаем объект класса QSvgWidget
//и передаем в его конструктор
//SVG-файл motion.svg,
//который находится в ресурсах
svg.show(); //вызываем метод show(),
//чтобы отобразить виджет
QObject::connect(svg.renderer(), //соединение сигнала repaintNeeded()
SIGNAL(repaintNeeded()),//объекта класса QSvgRenderer
&svg, //со слотом repaint() класса
SLOT(repaint()) //QSvgWidget нужно для того, чтобы
); //после создания каждого нового
//изображения оно отображалось
//виджетом QSvgWidget
return app.exec();
}Файлы приложения можно взять здесь.
На следующем шаге рассмотрим понятие анимационного движка в Qt.