Код: Выделить всё
QIcon HmsUiHelper::createIconFromSvg(const QString& svgFilePath, const QColor& color, int width, int height)
{
QSvgRenderer svgRenderer{ svgFilePath };
QPixmap pixmap(width, height);
pixmap.fill(Qt::transparent);
QPainter painter{ &pixmap };
painter.setRenderHint(QPainter::Antialiasing);
painter.setBrush(QBrush{ color });
painter.setPen(Qt::NoPen);
painter.scale(static_cast(width) / svgRenderer.defaultSize().width(),
static_cast(height) / svgRenderer.defaultSize().height());
svgRenderer.render(&painter);
return QIcon{ pixmap };
}
В чем проблема и как ее решить?
Я пробовал много вариантов с RenderHints и т. д. Я не хочу менять свойства svg (что-то вроде решения, которое я нашел). Я хочу изменить цвет SVG с помощью QSvgRenderer.
Подробнее здесь: https://stackoverflow.com/questions/793 ... -icon-qt-c
Мобильная версия