Опять-таки задача: перевод иконок в HD. Где-то рисуем программно через QIconEngine, где-то SVG.
Самодельный QIconEngine вперемешку с SVG даёт разностилицу в определённых компонентах (например, QComboBox). Я бы вообще эти иконки не перекрашивал, но проще перекрасить свои, чем отключить перекрашивание SVG.
Обнаружился код из иконочного SVG-плагина:
QPixmap* workingPix; // задел под кэширование
. . .
// Не забудьте прикрыть все QPainter’ы!
if (qobject_cast<QGuiApplication*>(QCoreApplication::instance())) {
if (mode != QIcon::Normal) {
const QPixmap generated = QGuiApplicationPrivate::instance()->applyQIconStyleHelper(mode, *workingPix);
if (!generated.isNull()) {
*workingPix = generated;
}
}
}
Код страшный, но что взамен?