Здравствуйте.
Добавляю QGraphicsSvgItem на сцену. Отображается нормально (т.е. как вектор), но при сохранении сцены в Svg или печати, итем отображается/сохраняется как растр. Соответственно качество, мягко сказать - никакое.
Если заглянуть в сохраненный Svg то видно, что сохранился итем как png. (data:image/png)
Сохраняю так:
C++ (Qt)
void SaveSceneAsSvg(QString sFileName)
{
if(sFileName.isEmpty()){
return;
}
QRectF rect = scene->sceneRect();
QSvgGenerator generator;
generator.setFileName(sFileName);
generator.setSize(QSize(scene->sceneRect().width(), scene->sceneRect().height()));
generator.setViewBox(scene->sceneRect());
generator.setTitle(tr("Title"));
generator.setDescription(tr("Description"));
QPainter painter;
painter.begin(&generator);
scene->render(&painter, QRectF(), rect);
painter.end();
}
Конечно, есть вариант самому парсить Svg, который загружается в QGraphicsSvgItem, и рисовать (линии/полилинии, точки, полигоны), но это гемор.
Кто нибудь сталкивался с такой проблемой?
P.S. Qt 4.5.0
Заранее спасибо.