我想设置以下 SVG 标志:
shape-rendering = "optimizeSpeed"
如何使用QSvgGenerator实现这一目标?
答案 0 :(得分:0)
我担心你不能用QSvgGenerator
本身设置那个标志。
但您可以将 SVG 数据生成到缓冲区中,然后使用QDomDocument
解析获取的数据并设置正确元素的标志。
QBuffer data;
QSvgGenerator generator;
generator.setOutputDevice(&data);
// ... generate SVG ...
QDomDocument doc;
doc.setContent(data.buffer());
QDomNodeList elements = doc.elementsByTagName("svg");
// There should be just one 'svg' element.
assert(elements.count() == 1);
// Set the flag.
elements.at(0).toElement().setAttribute("shape-rendering", "optimizeSpeed");
// Obtain SVG data as a string.
QString svg = doc.toString();