diff --git a/plugin/kquickstyleitem.cpp b/plugin/kquickstyleitem.cpp --- a/plugin/kquickstyleitem.cpp +++ b/plugin/kquickstyleitem.cpp @@ -184,6 +184,15 @@ opt->icon = icon.value(); } else if (icon.canConvert() && icon.value().isLocalFile()) { opt->icon = QIcon(icon.value().toLocalFile()); + } else if (icon.canConvert() && (icon.value().scheme() == QLatin1String("qrc") || icon.value().startsWith(QLatin1String(":/")))) { + // We need to pass the URL without the qrc prefix + if (icon.value().scheme() == QLatin1String("qrc")) { + const QString iconUrl = icon.value().mid(3); + opt->icon = QIcon(iconUrl); + } else { + opt->icon = QIcon(icon.value()); + } + } else if (icon.canConvert()) { opt->icon = m_theme->iconFromTheme(icon.value(), m_properties[QStringLiteral("iconColor")].value()); }